我有一个列表,用(course id- course name
)检索我的 sql 表单。
我对列表使用哈希,我创建了一个适配器,它给了我列表并将它设置为微调器。但是 log cat 中有一个问题,它说:
我有一个列表,用(course id- course name
)检索我的 sql 表单。
我对列表使用哈希,我创建了一个适配器,它给了我列表并将它设置为微调器。但是 log cat 中有一个问题,它说:
如果您检查http://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context , int, T[]),您会发现数组适配器期望第二个参数是文本视图而不是布局的资源 id ..
使用以下方法初始化您的适配器:
new ArrayAdapter(MainActivity.this, android.R.layout.simple_spinner_item, coursesList);
以及 Luksprog 的解释:
ArrayAdapter 要求资源 ID 是 TextView XML 异常,这意味着您不提供 ArrayAdapter 期望的内容。当您使用此构造函数时:
new ArrayAdapter<String>(this, R.layout.a_layout_file, this.file)
R.Layout.a_layout_file必须是 xml 布局,其中第一个元素必须是 TextView,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
//other attributes
/>
如果你想让你的列表行布局有点不同,那么一个简单的 TextView 元素使用这个构造函数:
new ArrayAdapter<String>(this, R.layout.a_layout_file,
R.id.the_id_of_a_textview_from_the_layout, this.file)
您在其中提供可以包含各种视图的布局的id,但还必须包含 TextView 和您传递给 ArrayAdapter 的 id(第三个参数),以便它可以知道将字符串放在哪里