Hey in diesem Programm habe ich ein GridView nach dem Text es hat aber beim Ausführen der App die Lag viel sowohl auf dem Emulator als auch auf dem Gerät. Und der FehlerGridView: Die Anwendung möglicherweise zu viel Arbeit auf seinem Hauptthread.Skiped X Frames Fehler bei der Verwendung verschiedener Bilder
"Die Anwendung möglicherweise zu viel Arbeit auf seinem Hauptthread." ist gegeben Ich denke, das ist, was das Problem hier verursacht.
Hier ist meine ImageAdapter Datei
public class ImageAdapter extends BaseAdapter {
static class ViewHolder {
ImageView imageView;
TextView textView;
}
private Context context;
String mobile;
private final String[] mobileValues;
int[] imagesArr = new int[]{R.drawable.badminton, R.drawable.cricket, R.drawable.basketball, R.drawable.carrom,
R.drawable.handball, R.drawable.humanfoosball, R.drawable.kabaddi, R.drawable.khokho, R.drawable.chess,
R.drawable.longjump, R.drawable.streetsoccer, R.drawable.shotput, R.drawable.volleyball, R.drawable.tugofwar,
R.drawable.tabletennis, R.drawable.handball, R.drawable.rellayrace};
public ImageAdapter(Context context, String[] mobileValues) {
this.context = context;
this.mobileValues = mobileValues;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
View row = convertView;
if (row == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//row = new View(context);
// get layout from grid_itemxml.xml
row = inflater.inflate(R.layout.grid_item, null);
// set value into textview
holder.textView = (TextView) row.findViewById(R.id.grid_item_label);
holder.textView.setText(mobileValues[position]);
// set image based on selected text
holder.imageView = (ImageView) row.findViewById(R.id.grid_item_image);
mobile = mobileValues[position];
if (mobile.equals("Badminton")) {
holder.imageView.setImageResource(imagesArr[0]);
}
if (mobile.equals("Cricket")) {
holder.imageView.setImageResource(imagesArr[1]);
}
if (mobile.equals("Basketball")) {
holder.imageView.setImageResource(imagesArr[2]);
}
if (mobile.equals("Carrom")) {
holder.imageView.setImageResource(imagesArr[3]);
}
if (mobile.equals("Handball")) {
holder.imageView.setImageResource(imagesArr[4]);
}
if (mobile.equals("Human Foosball")) {
holder.imageView.setImageResource(imagesArr[5]);
}
if (mobile.equals("Kabaddi")) {
holder.imageView.setImageResource(imagesArr[6]);
}
if (mobile.equals("Khokho")) {
holder.imageView.setImageResource(imagesArr[7]);
}
if (mobile.equals("Chess")) {
holder.imageView.setImageResource(imagesArr[8]);
}
if (mobile.equals("Longjump")) {
holder.imageView.setImageResource(imagesArr[9]);
}
if (mobile.equals("Streetsoccer")) {
holder.imageView.setImageResource(imagesArr[10]);
}
if (mobile.equals("Shotput")) {
holder.imageView.setImageResource(imagesArr[11]);
}
if (mobile.equals("Volleyball")) {
holder.imageView.setImageResource(imagesArr[12]);
}
if (mobile.equals("Tugofwar")) {
holder.imageView.setImageResource(imagesArr[13]);
}
if (mobile.equals("Table Tennis")) {
holder.imageView.setImageResource(imagesArr[14]);
}
if (mobile.equals("Relayrace")) {
holder.imageView.setImageResource(imagesArr[15]);
}
} else {
holder = (ViewHolder) row.getTag();
}
return row;
}
@Override
public int getCount() {
return mobileValues.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
Link nicht funktioniert @Pavneet Singh –