2012-03-31 11 views
0

Ich verwende folgenden Code, um ein Bild aus dem internen Speicher zu Tab-Icons zu laden. Bilder werden ordnungsgemäß für state_enabled geladen, aber keine Änderung, wenn state_selected ist. Was mache ich falsch? Danke.android handle selector state

ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon); 

     File imgFile = new File("data/data/"+PACKAGE_NAME+"/biblioteca/" + imageName); 
     File imgFileSel = new File("data/data/"+PACKAGE_NAME+"/biblioteca/" + imageName); 

     Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 
     Drawable d = new BitmapDrawable(myBitmap); 

     Bitmap myBitmapSelected = BitmapFactory.decodeFile(imgFileSel.getAbsolutePath()); 
     Drawable dSel = new BitmapDrawable(myBitmapSelected); 

     StateListDrawable selector = new StateListDrawable(); 
     selector.addState(new int[]{ android.R.attr.state_enabled }, d); 
     selector.addState(new int[]{ android.R.attr.state_selected }, dSel); 
     icon.setImageDrawable(selector);} 

xml gibt eine Warnung "fehlende Inhaltsbeschreibung"

<ImageView android:id="@+id/icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/icon" 

    /> 
+0

können Sie komplette XML-Datei – Ishu

Antwort

0

state_pressed helfen Ihnen ...

und

missing content description 

ant seine nur Lint Fehlerprüfung ... .Ist nicht anders,

+0

Dank für alert Erklärung schreiben! state_pressed hinzugefügt, funktioniert aber immer noch nicht! – Jaume

0
StateListDrawable selector = new StateListDrawable(); 
selector.addState(new int[]{ android.R.attr.state_pressed }, dSel); 
selector.addState(new int[]{ android.R.attr.state_focussed }, dSel); 
selector.addState(new int[]{ android.R.attr.state_enabled }, d); 
selector.addState(new int[]{ android.R.attr.state_selected }, dSel); 
icon.setImageDrawable(selector); 

Versuchen Sie es bitte auch dieses LINK

+0

Ich kann nur "d" Bild auf ausgewählten Tab sehen, aber kein Bild auf den anderen !! komisch ... – Jaume

+0

Habe jetzt eine kleine Veränderung gemacht und probiere es aus und was genau du machst kannst du mir erklären .... – Ishu

+0

jetzt wird "d" immer angezeigt, ausgewählt oder nicht! – Jaume