2016-11-10 192 views
0

我已經嘗試了幾種方法教程,沒有人能夠解決我的可能yet.I嘗試它正弦2天。我的問題是當我運行我的自定義列表視圖程序它顯示錯誤。它是 ErrorAndroid自定義列表視圖

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圖片 – Furqan

+1

@MD。 Saiful伊斯蘭教:你能用其他圖像替換'appliano.png'並再試一次嗎? – AndiGeeky

回答

0

因爲我們還沒有提供更多的信息,根據您所提供 細節第一名the appleiano.png圖片是一個是造成這個問題。暫時嘗試使用另一個圖像,例如應用程序圖標,看看項目是否構建。

這是由於添加了一個可繪製的圖像,其中有一些擴展名(.jpg),並且您已經將其更改或保存爲.png格式(在不使用編輯器工具的情況下手動更改圖像格式時會發生此錯誤)。 Android studio會在使用AAPT(Android資源打包工具)編譯資源包時拋出錯誤,因此您只需使用像「gimp或paint」這樣的圖像編輯器工具來相應地保存擴展。一切完成後重建項目。

提示:如果你在Mac OS上,你可以打開終端並從images文件夾運行以下命令:'sips -s format png * .png --out'。它會正確地將所有文件與.png sufix轉換成真正的PNG文件

+0

不僅appeliano.png所有的圖像都是PNG格式。 –

+0

好的,所以如果你的所有png使用同樣的問題。我們試着在你的build.gradle中禁用cruncher,並且請注意這不是一個修復,這只是爲了看看如果cruncher被禁用會發生什麼。 的Android { .... aaptOptions { cruncherEnabled =假 } .... } – John

+0

所以PLZ給我解精確。 –