2016-11-10 6 views
0

Я пробовал несколько методов, и никто не может решить мою проблему. Я пробую это синус 2 дня. Моя проблема в том, что когда я запускаю свою программу просмотра пользовательских списков, она показывает ошибку. и это ErrorAndroid Custom List View

enter image description here

MainActivity:

public class MainActivity extends Activity { 

    ListView list; 

    String[]name={ 

      "Al Fresco", 
      "Appeliano", 
      "BFC", 
      "Mr. Burger", 
      "Grind House", 
      "Comic Cafe", 
      "cafe 5Six7", 
      "Cafe Cheeze Panic" 
    }; 


    Integer[]imgid={ 

      R.drawable.alfresco, 
      R.drawable.appeliano, 
      R.drawable.bfc, 
      R.drawable.burger, 
      R.drawable.tbk, 
      R.drawable.comiccafe, 
      R.drawable.cafefivesixseven, 
      R.drawable.cafecheezepanic 

    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     CustomAdapter adapter=new CustomAdapter(MainActivity.this,name,imgid); 

     list=(ListView)findViewById(R.id.list); 
     list.setAdapter(adapter); 

    } 
} 

И customadapter:

public class CustomAdapter extends ArrayAdapter<String> { 

    private final Activity context; 
    private final String[] name; 
    private final Integer[]imgid; 

    public CustomAdapter(Activity context,String[] name, Integer[] imgid) { 
     super(context,R.layout.mylist, name); 
     this.context = context; 
     this.name = name; 
     this.imgid = imgid; 
    } 

    @Override 
    public View getView(int position, View view, ViewGroup parent) { 
     LayoutInflater inflater=context.getLayoutInflater(); 
     View rowView=inflater.inflate(R.layout.mylist,null,true); 
     TextView txtTitle= (TextView) rowView.findViewById(R.id.item_name); 
     ImageView imageView= (ImageView) rowView.findViewById(R.id.list_item); 

     txtTitle.setText(name[position]); 
     imageView.setImageResource(imgid[position]); 

     return rowView; 

    } 
} 
+0

Можете ли вы показать нам журналы, пожалуйста? –

+0

изменить ** appeliano.png **, я думаю, что это изображение не правильно .png image – Furqan

+1

@MD. Saiful Islam: Можете ли вы заменить «appliano.png» другим изображением и повторить попытку? – AndiGeeky

ответ

0

Поскольку вы не предоставляют больше информации, с подробностями вы обеспечили Номер один - это изображение appleiano.png. тот, который вызывает эту проблему. Попробуйте использовать другое изображение, например, значок приложения и посмотреть, не строит ли проект.

Это связано с добавлением изображения в drawable, которое имеет некоторое расширение типа (.jpg), и вы изменили или сохранили его в формате .png (эта ошибка возникает при изменении формата изображения вручную без использования инструмента редактора). Студия Android выдает ошибку при компиляции пакета ресурсов с использованием AAPT (Android Asset Packaging Tool), поэтому все, что вам нужно сделать, это использовать некоторые средства редактора изображений, такие как «gimp или paint», чтобы соответственно сохранить расширение. Перестройте свой проект, как только все будет сделано.

Совет: если вы находитесь на Mac OS, вы можете открыть терминал и запустить следующую команду из папки с изображениями: 'sips -s format png * .png --out.' Он будет правильно преобразовывать все файлы с .png sufix в реальные файлы PNG.

+0

Не только appeliano.png все изображения находятся в формате PNG. –

+0

Итак, если ур имеет ту же проблему со всеми используемыми png. Попробуйте отключить cruncher в вашем build.gradle и обратите внимание, что это не исправление, это просто посмотреть, что произойдет, если cruncher отключен. андроид { .... aaptOptions { cruncherEnabled = ложь } .... } – John

+0

так плз дайте мне решение точно. –

 Смежные вопросы

  • Нет связанных вопросов^_^