Aşağıdaki sınıfın bazı metin görünümlerini/düğmeleri/eğiricileri ve ayrıca ayrıştırılmış veri içeren bir ListView görüntülemesini istiyorum. Ancak, liste görünümü/bağdaştırıcı/addview bazı sorunlara neden oluyor. İşte hata alıyorum:AdapterView ve addView ile ilgili Sorunlar
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
Ben benim xml dosyaları ile hususta kendi duygu, ama Im çok emin değil.
<?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 basit TextView'un geçerli:
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);
}
}
Benim 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 İşte benim kod.
DÜZENLEME:
Ok bu yüzden bazı dosyaların güncellenmiş ive ve ben bir çalışma zamanı istisnası hatayı alıyorum: edilir burada
Your content must have a ListView whose attribute is 'android.R.id.list'
güncellenen dosyalar:
sınıfı:
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);
}
}
İstatistiğim göster
<include layout="@layout/xmllayout" android:id="@+id/xmllist" />
Sonra diğer iki düzenleri basit TextView'un (xmldatarow), ve bir liste görünümü (xmllayout): s vb TextView'lar ile linearlayouts tüm ve ondan bu silindi. Sadece açıklığa kavuşturmak için, statsscreenlayout'umda herhangi bir liste görünümü veya herhangi bir 'include' yoktur.
Herhangi bir öneri? Teşekkürler
Bu konuda biraz genişletebilir misiniz lütfen? teşekkürler – mmmbaileys
Elbette. Buna göre düzenlenmiştir. –
Teşekkürler, yayınımı orada bir düzenleme ile güncelledim. Başka bir gözün var mı? Çok teşekkürler! – mmmbaileys