• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Java

Forum

  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 30 december 2025 om 22:29
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • Op zoek naar de legends

    Jeffrey.Hoekman 9 december 2025 om 09:41
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05
  • 302 Nieuwe Domeinnamen November 2025

    shiga 1 december 2025 om 13:07

JAVA / ANDROID LayoutInflater

  • thjeu
  • 21 februari 2014 om 11:25
  • thjeu
    Developer
    Ontvangen Reacties
    2
    Berichten
    501
    • 21 februari 2014 om 11:25
    • #1

    Hallo allemaal,

    Momenteel zijn wij op school bezig met het programmeren van android apps, maar loop ik vast op de LayoutInflater. Op de één of andere manier vindt hij het .xml bestand dat ik wil toewijzen niet.

    Mijn code (waar het om gaat):

    PHP
    private void init() {
    		LayoutInflater  inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    		inflater.inflate(R.layout.rgbsliderview, this); //hier geeft hij aan: rgbsliderview cannot be resolved or is not a field
    		
    		r = (SeekBar) findViewById(R.id.seekBar1);
    		g = (SeekBar) findViewById(R.id.seekBar2);
    		b = (SeekBar) findViewById(R.id.seekBar3);
    		
    		SeekBarChangeListener listener = new SeekBarChangeListener();
    		
    		r.setOnSeekBarChangeListener(listener);
    		g.setOnSeekBarChangeListener(listener);
    		b.setOnSeekBarChangeListener(listener);
    		
    		model = ColorModel.getInstance();
    		
    	}
    Toon Meer

    Heeft iemand enig idee waarom hij het xml bestand niet pakt? Deze is gewoon aangemaakt en zit in de /res/layout/ map.

    Edit: probleem is opgelost! De fout zat hem in dat ik import R.Java in het bestand zelf had staan. Echter loop ik nu tegen het volgende probleem aan:

    Wanneer ik nu custom view van de rgbseekbar wil toevoegen aan mijn activity_main geeft hij een java.lang.NullPointerException. Echter kan ik geen enkele insantie vinden die op null staat, terwijl dit niet zo zou moeten zijn. Volledige code voor de RGBSeekBar view :

    PHP
    package nl.rigault.colormix.view;
    
    
    import java.util.Observable;
    import java.util.Observer;
    
    
    import nl.rigault.colormix.R;
    import nl.rigault.colormix.model.ColorModel;
    
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.view.LayoutInflater;
    import android.widget.LinearLayout;
    import android.widget.SeekBar;
    
    
    public class RGBSeekBarView extends LinearLayout implements Observer {
    	
    	protected ColorModel model;
    	private SeekBar r, g, b;
    	
    	public RGBSeekBarView(Context context) {
    		super(context);
    		init();
    	}
    	
    	public RGBSeekBarView(Context context, AttributeSet attrs) {
    		super(context, attrs);
    		init();
    	}
    	
    	public RGBSeekBarView(Context context, AttributeSet attrs, int defStyle) {
    		super(context, attrs, defStyle);
    		init();
    	}
    	
    	private void init() {
    		LayoutInflater  inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    		inflater.inflate(R.layout.rgbseekbar, this);
    		
    		r = (SeekBar) findViewById(R.id.seekBar1);
    		g = (SeekBar) findViewById(R.id.seekBar2);
    		b = (SeekBar) findViewById(R.id.seekBar3);
    		
    		SeekBarChangeListener listener = new SeekBarChangeListener();
    		
    		r.setOnSeekBarChangeListener(listener);
    		g.setOnSeekBarChangeListener(listener);
    		b.setOnSeekBarChangeListener(listener);
    		
    		model = ColorModel.getInstance();
    		model.addObserver(this);
    		
    	}
    
    
    	@Override
    	public void update(Observable observable, Object data) {
    		r.setProgress(model.getR());
    		g.setProgress(model.getG());
    		b.setProgress(model.getB());
    		
    	}
    	
    	private class SeekBarChangeListener implements SeekBar.OnSeekBarChangeListener {
    
    
    		@Override
    		public void onProgressChanged(SeekBar seekBar, int progress,
    				boolean fromUser) {
    			
    			if (!fromUser) {
    				return;
    			}
    			
    			if (seekBar == r) {
    				model.setR(progress);
    			}
    			else if (seekBar == g) {
    				model.setG(progress);
    			}
    			else {
    				model.setB(progress);
    			}
    			
    			
    		}
    
    
    		@Override
    		public void onStartTrackingTouch(SeekBar seekBar) {
    			// TODO Auto-generated method stub
    			
    		}
    
    
    		@Override
    		public void onStopTrackingTouch(SeekBar seekBar) {
    			// TODO Auto-generated method stub
    			
    		}
    		
    	}
    }
    Toon Meer

    TwistedMonkey - Media Productions

    Bewerkt 2 keer, laatst door thjeu (21 februari 2014 om 13:42).

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 23 februari 2014 om 19:14
    • #2

    Kun je de stacktrace ook even posten?

  • thjeu
    Developer
    Ontvangen Reacties
    2
    Berichten
    501
    • 24 februari 2014 om 12:51
    • #3

    Ik maak gebruik van Eclipse, is de logCat hetzelfde als de stacktrace? Heb daar namelijk nog niet van gehoord!

    TwistedMonkey - Media Productions

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 24 februari 2014 om 22:35
    • #4

    De stacktrace is de trace van de callstack: Het laat zien door welke methode de code is heen gekomen alvorens de exception werd gegooid. Vaak vind je deze wel in je logs terug.

  • thjeu
    Developer
    Ontvangen Reacties
    2
    Berichten
    501
    • 25 februari 2014 om 00:23
    • #5

    De error die hij geeft:

    PHP
    java.lang.NullPointerException
        at nl.rigault.colormix.view.RGBSeekBarView.init(RGBSeekBarView.java:47)
        at nl.rigault.colormix.view.RGBSeekBarView.<init>(RGBSeekBarView.java:27)
        at sun.reflect.GeneratedConstructorAccessor64.newInstance(    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(    at java.lang.reflect.Constructor.newInstance(    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:422)
        at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:179)
        at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
        at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)
        at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
        at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:373)
    Toon Meer

    Mijn codes:
    activity_main.xml:
    http://pastebin.com/SywKjPN0

    RGBColorView class :
    http://pastebin.com/uXuz1e54

    RGBSeekBarView class :
    http://pastebin.com/sBu4P5jp

    ColorModel class :
    http://pastebin.com/R9EZSrmS

    MainActivity class :
    http://pastebin.com/miKeTDaS

    package explorer :

    EDIT:
    Als ik nu de seekbar wil toevoegen aan de activity_main.xml geeft hij deze error aan in de stacktrace :

    PHP
    java.lang.ClassCastException: com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup
    	at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:756)
    	at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    	at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
    	at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)
    	at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    	at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
    	at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    	at android.view.LayoutInflater.inflate(LayoutInflater.java:373)
    	at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:399)
    	at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336)
    	at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:334)
    	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:451)
    	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1545)
    	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302)
    	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1059)
    	at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686)
    	at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
    	at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292)
    	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
    	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
    	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3028)
    	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1749)
    	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:278)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
    	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    Toon Meer

    De error visueel :

    TwistedMonkey - Media Productions

    Bewerkt één keer, laatst door thjeu (25 februari 2014 om 00:30).

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design