私は、コードに従っている方法MainActivity
で拡張されていますListActivity
onCreate
setListAdapter(new MyAdapter(this,
android.R.layout.simple_list_item_1,
R.id.textView1,
getResources().getStringArray(R.array.countries)));
そして、このクラスは MainActivity スコープにあります
public class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflator = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflator.inflate(R.layout.list_item, parent, true);
TextView tv = (TextView)row.findViewById(R.id.textView1);
ImageView iv = (ImageView)row.findViewById(R.id.imageView1);
String[] items = getResources().getStringArray(R.array.countries);
tv.setText(items[position]);
iv.setImageResource(R.drawable.flag_1);
return super.getView(position, convertView, parent);
}
}
このコードを実行すると、アラートエラーでアプリがクラッシュします
残念ながら、APPLICATION_NAME は停止しました
この行に何か問題があると思いますView row = inflator.inflate(R.layout.list_item, parent, true);
PS:私は Android に非常に慣れていないので、なぜこれが起こっているのかわかりません。LogCat
醜すぎて読むことができませんが、ここにいくつかの行があります:
10-19 13:06:09.878: D/AndroidRuntime(1736): Shutting down VM
10-19 13:06:09.878: W/dalvikvm(1736): threadid=1: thread exiting with uncaught exception (group=0x41465700)
10-19 13:06:09.896: E/AndroidRuntime(1736): FATAL EXCEPTION: main
10-19 13:06:09.896: E/AndroidRuntime(1736): java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.AdapterView.addView(AdapterView.java:477)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.view.LayoutInflater.inflate(LayoutInflater.java:500)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
10-19 13:06:09.896: E/AndroidRuntime(1736): at com.me.listexample.MainActivity$MyAdapter.getView(MainActivity.java:57)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.AbsListView.obtainView(AbsListView.java:2177)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.ListView.measureHeightOfChildren(ListView.java:1247)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.ListView.onMeasure(ListView.java:1159)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.view.View.measure(View.java:15848)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.RelativeLayout.measureChild(RelativeLayout.java:698)
10-19 13:06:09.896: E/AndroidRuntime(1736): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:494)