Q:
Error Msg: ArrayAdapter requires the resource ID to be a TextView
A:
The ArrayAdapter requires the resource ID to be a TextView XML exception means you don't supply what the ArrayAdapter expects.
When you use this constructor:
new ArrayAdapter<String>(this, R.layout.a_layout_file, this.file)
R.Layout.a_layout_file must
be the id of a xml layout file containing only a TextView(the TextView can't be
wrapped by another layout, like a LinearLayout, RelativeLayout etc!),
something like this:
<?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 of the TextView
/>
If you want your list row layout to be something a little different then a simple TextView widget
use this constructor:
new ArrayAdapter<String>(this, R.layout.a_layout_file,
R.id.the_id_of_a_textview_from_the_layout, this.file)
where you supply the id of
a layout that can contain various views, but also must contain a TextView with
and id(the
third parameter) that you pass to your ArrayAdapter so
it can know where to put the Strings in
the row layout.
Refer:
http://blog.youkuaiyun.com/xxg3053/article/details/6999872
http://stackoverflow.com/questions/9280965/arrayadapter-requires-the-resource-id-to-be-a-textview-xml-problems
本文详细解释了ArrayAdapter在Android开发中遇到的资源ID必须为TextView的XML异常,提供了两种解决方案:一种是使用包含仅一个TextView的布局文件作为资源ID,另一种是提供包含多种视图但必须包含指定TextView的布局文件。并提供了相关链接进行深入学习。

被折叠的 条评论
为什么被折叠?



