错误:java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
报出错误原因:
在写数组适配器时出现,代码如下:
public class ArrayAdapterActivity extends Activity {
@InjectView(R.id.lv)
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_array_adapter);
ButterKnife.inject(this);
String[] objects = {"窗前明月光", "疑是地上霜", "举头望明月", "低头思故乡"};
lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item_tv, objects));
}
}
解决办法:
将item_tv这个布局文件的根节点改成TextView,如下:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="vertical"
android:gravity="center_vertical"
android:text="文本数据"
android:textSize="22sp"
>
</TextView>