• 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

  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • Het Grote Vibe Code Topic

    Jeroen.G 8 april 2026 om 14:00
  • PWYL source gezocht

    Syntax 25 maart 2026 om 11:44
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57

Marktplaats

  • 370 Nieuwe Domeinnamen April 2026

    shiga 1 mei 2026 om 12:06
  • Snel een website nodig?

    Syntax 10 april 2026 om 12:55
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Syntax 5 april 2026 om 16:22

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

  • Google Cloud is in de problemen (en AWS weet het)

    ICTscripters 14 april 2026 om 12:01
  • Nebius kondigt bouw aan van een van Europa's grootste datacenters

    ICTscripters 31 maart 2026 om 12:03
  • Samsung zal miljoenen verdienen aan Apple iPhone Fold dankzij zijn 12GB RAM

    ICTscripters 11 maart 2026 om 22:42

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