内置适配器
Built-in Adapter
通过在我的代码中使用内置适配器,我的应用开始崩溃。
ListView listView;
public String[] arr={"item1","item2","item3"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=findViewById(R.id.listView);
ArrayAdapter ad=new ArrayAdapter(this,android.R.layout.activity_list_item,arr);
listView.setAdapter(ad);
}
}```
您的阵列适配器要求布局仅为 TextView
。但是布局 activity_list_item
它是 LinearLayout
以图像和文本作为子项,所以它会崩溃。
您的示例的正确布局为 simple_list_item_1
所以它应该是这样的:
ArrayAdapter ad=new ArrayAdapter(this,android.R.layout.simple_list_item_1,arr);
listView.setAdapter(ad);
通过在我的代码中使用内置适配器,我的应用开始崩溃。
ListView listView;
public String[] arr={"item1","item2","item3"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=findViewById(R.id.listView);
ArrayAdapter ad=new ArrayAdapter(this,android.R.layout.activity_list_item,arr);
listView.setAdapter(ad);
}
}```
您的阵列适配器要求布局仅为 TextView
。但是布局 activity_list_item
它是 LinearLayout
以图像和文本作为子项,所以它会崩溃。
您的示例的正确布局为 simple_list_item_1
所以它应该是这样的:
ArrayAdapter ad=new ArrayAdapter(this,android.R.layout.simple_list_item_1,arr);
listView.setAdapter(ad);