我希望下面的类能够显示一些textviews/buttons/spinners,还有一个包含解析数据的ListView。然而,列表视图/适配器/ addview正在造成一些麻烦。 继承人的错误我得到:AdapterView和addView问题
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
我感觉它与我的XML文件做的,但是我也不太清楚。 这里是我的代码:
public class StatisticsScreen extends ListActivity{
private List<Message> messages;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.statisticsscreen);
loadFeed();
//other textviews and listeners added
}
private void loadFeed() {
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
List<String> titles = new ArrayList<String>(messages.size());
for (Message msg : messages){
titles.add(msg.getTitle());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);
this.setListAdapter(adapter);
} catch (Throwable t){
Log.e("AndroidNews",t.getMessage(),t);
}
}
我statisticsscreen XML:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/statsviewlayout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@color/black">
//other layouts/textviews/buttons added
<include layout="@layout/xmllayout" android:id="@+id/xmllist" />
</LinearLayout>
</ListView>
xmllayout XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@+id/xmllist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
xmldatarow是一个简单的TextView。
编辑:
好了,所以香港专业教育学院的一些文件的更新,我得到一个运行时异常错误:
Your content must have a ListView whose attribute is 'android.R.id.list'
这里有更新的文件:
类:
setContentView(R.layout.statisticsscreen);
loadFeed();
getListView().addHeaderView(View.inflate(this, R.layout.xmllayout, null));
private void loadFeed() {
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
List<String> titles = new ArrayList<String>(messages.size());
for (Message msg : messages){
titles.add(msg.getDate());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);
this.setListAdapter(adapter);
} catch (Throwable t){
Log.e("AndroidNews",t.getMessage(),t);
}
}
我的statsscreenlayout stil ha一切都与textviews等linearlayouts的,我删除了这个如此:
<include layout="@layout/xmllayout" android:id="@+id/xmllist" />
然后我的另外两个布局一个简单的TextView(xmldatarow),和一个ListView(xmllayout)。 只是为了澄清,我的statsscreenlayout中没有任何listview或任何'include'。
有什么建议吗?谢谢
请问您可以扩展一下吗?谢谢 – mmmbaileys 2011-02-15 23:42:44