2016-04-10 5 views
0

Ich bin Neuling, ich habe eine benutzerdefinierte Listenansicht mit Adapter erstellt, aber wenn ich meine App ausführen. es gibt einen Fehler bei der helP? Fehler in // legendImage.setImageDrawable (Bild);Benutzerdefinierte Liste Fehler

Here is picture of logcat file error Hier ist die Klasse AdapterCustomlistView:

public class AdapterCustomListview extends ArrayAdapter<MoveData> { 
     private int resource; 
     private LayoutInflater inflater; 
    private Context context; 
    public AdapterCustomListview(Context ctx, int resourceId, List<MoveData> objects) { 
     super(ctx, resourceId, objects); 
     resource = resourceId; 
     inflater = LayoutInflater.from(ctx); 
     context = ctx; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     convertView = (LinearLayout) inflater.inflate(resource, null); 
     MoveData Legend = getItem(position); 
     TextView legendName = (TextView) convertView.findViewById(R.id.txtAppName); 
     legendName.setText(Legend.getName()); 

     TextView legendBorn = (TextView) convertView.findViewById(R.id.txtCoin); 
     legendBorn.setText(Legend.getCoin()); 

     ImageView legendImage = (ImageView) convertView.findViewById(R.id.imageView); 
     String uri = "drawable/" + Legend.getImage(); 
     int imageResource = context.getResources().getIdentifier(uri, null, context.getPackageName()); 
     //noinspection deprecation 
     Drawable image = context.getResources().getDrawable(imageResource); 


     legendImage.setImageDrawable(image); **//This row show error** 



     return convertView; 

    } 
} 

Dies ist die Heimat-Aktivität (MainActivity)

ctx = this; 
    List<MoveData> legendList = new ArrayList<MoveData>(); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 
    legendList.add(new MoveData("icon_dollar", "icon_dollar", "icon_dollar")); 

    listViewItem = (ListView) findViewById(R.id.lvItem); 
    listViewItem.setAdapter(new AdapterCustomListview(ctx, R.layout.custom_layout_single, legendList)); 

    // Click event for single list row 
    listViewItem.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      MoveData o = (MoveData) parent.getItemAtPosition(position); 
      Toast.makeText(Home.this, o.getName().toString(), Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

Hier Klasse Verschieben von Daten

public class MoveData { 


public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public String getCoin() { 
    return coin; 
} 

public void setCoin(String coin) { 
    this.coin = coin; 
} 

public String getImage() { 
    return image; 
} 

public void setImage(String image) { 
    this.image = image; 
} 
private String name; 
private String coin; 
private String image; 

public MoveData(String AppName, String Coin, String image) { 
    super(); 
    this.name = AppName; 
    this.coin = Coin; 
    this.image = image; 
} 
} 
+0

Bitte säubern Sie Ihre Codeformatierung und erklären Sie, was der Fehler war. – rghome

+0

danke ich bin der erste, der diese Seite benutzt. :(Kannst du mir helfen? Pls – Monster

+0

Was ist der Fehler? Setzen Sie die Fehlermeldung an einem schönen, klaren Ort und formatieren Sie es richtig (z. B. mit der Quote-Funktion). – rghome

Antwort

1

statt Drawable image = context.getResources().getDrawable(imageResource); der Verwendung (die ist veraltet), verwenden Sie: Drawable image = ContextCompat.getDrawable(context, imageResource);

+0

Vielen Dank, ich habe es. – Monster

+0

Konnte diese Antwort als die richtige markieren: 3 – Jeffalee

+0

ich tat es. :))))) – Monster

Verwandte Themen