我有一个列表,用(course id- course name
)来回复我的sql表单。
我使用哈希她作为列表,我创建了一个适配器,它给我列表,我将它设置为微调器。 但是log cat中有一个问题是:
答案 0 :(得分:3)
很好地解释了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 ,但是还必须包含传递给ArrayAdapter的带有和id(第三个参数)的TextView,以便它可以知道放在哪里字符串
答案 1 :(得分:2)
如果选中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);