作者:bale999_816 | 来源:互联网 | 2023-05-24 16:41
我正在尝试ListView
使用自定义布局创建.listView
应该看起来像item.xml
下面发布的每个项目.
在代码中,我用过
adapter = new ArrayAdapter(getApplicationContext(), R.layout.listi_tems_layout, topicsList);
但它不起作用,因为ArrayAdapter
接受第二个参数的构造函数int
就像
android.R.layout.simple_list_item_1
,在我的情况下,它是自定义布局
R.layout.listi_tems_layout
我应该使用哪个适配器或如何解决这个问题.谢谢
项目:
主要布局:
....
....
....
代码:
public class MainActivity extends Activity {
private ArrayList topicsList;
private ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
topicsList = new ArrayList();
topicsList.add("topic1");
topicsList.add("topic2");
topicsList.add("topic3");
topicsList.add("topic4");
topicsList.add("topic5");
topicsList.add("topic6");
adapter = new ArrayAdapter(getApplicationContext(), R.layout.listi_tems_layout, topicsList);
ρяσѕρєя K..
6
ArrayAdapter接受第二个参数为int,如android.R.layout.simple_list_item_1
当不自定义getView
方法ArrayAdapter
然后自定义布局需要一个带有android:id="@android:id/text1"
id的TextView 并在一个TextView中显示值.
要与当前代码运行的应用程序添加android:id="@android:id/text1"
了TextView
在 R.layout.listi_tems_layout
布局.
因为R.layout.listi_tems_layout
布局还包含TextView的其他视图,所以通过扩展ArrayAdapter类来创建自定义适配器也可以访问其他视图.
请参阅以下示例:ListView的自定义ArrayAdapter(Android)
1> ρяσѕρєя K..:
ArrayAdapter接受第二个参数为int,如android.R.layout.simple_list_item_1
当不自定义getView
方法ArrayAdapter
然后自定义布局需要一个带有android:id="@android:id/text1"
id的TextView 并在一个TextView中显示值.
要与当前代码运行的应用程序添加android:id="@android:id/text1"
了TextView
在 R.layout.listi_tems_layout
布局.
因为R.layout.listi_tems_layout
布局还包含TextView的其他视图,所以通过扩展ArrayAdapter类来创建自定义适配器也可以访问其他视图.
请参阅以下示例:ListView的自定义ArrayAdapter(Android)