Ich versuche, einen Header zu meinem listView
hinzufügen, aber ich sehe nur schwarzer Bildschirm, wenn die Aktivität startetAndroid: addHeader zu Listview
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maincoverflow);
final ListView itemslist = (ListView)findViewById(R.id.itemslist);
LayoutInflater inflater = getLayoutInflater();
ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.main_header, itemslist, false);
itemslist.addHeaderView(mTop, null, false);
//some actions with header and list items
//example: coverflow_item_title is located in header(R.layout.main_header)
title = (TextView)findViewById(R.id.coverflow_item_title); //checked - is not null
CoverFlow coverFlow = (CoverFlow) findViewById(R.id.coverflow);
ImageAdapter coverImageAdapter = new ImageAdapter(this);
coverFlow.setAdapter(new ImageAdapter(this));
coverImageAdapter.createImages();
coverFlow.setAdapter(coverImageAdapter);
coverFlow.setOnItemSelectedListener(new CoverAdapterView.OnItemSelectedListener(){
...
adapter = new LazyAdapter(MainCoverflowActivity.this, tools, tools_images);
itemslist.setAdapter(adapter);
}
itemslist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
...
}
}
maincoverflow.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/itemslist"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
</LinearLayout>
main_header.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/coverflow_item_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium" />
<com.thumbsupstudio.mobitour.CoverFlow
android:id="@+id/coverflow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/shadowbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/shadow_box" />
</LinearLayout>
Sie werden feststellen, dass ich Coverflow
Widget bin mit (von hier http://www.inter-fuser.com/2010/01/android-coverflow-widget.html) - es funktioniert gut.
Im Allgemeinen ändere ich listView
Inhalt, wenn Coverflow
Element geändert wird. Es funktioniert gut, aber ich brauche , um mit listView
zu scrollen, also entschied ich mich, es an den Header zu hängen. Danach gibt es keine listView
und Coverflow
auf dem Bildschirm, alles ist schwarz.
Haben Sie Ihren Adapter nach dem Hinzufügen der Kopfzeile überprüft? Wenn Sie eine Kopfzeile hinzufügen, werden die Positionen der Elemente aufgrund der Kopfzeile um 1 erhöht. Ich hoffe, dass das deine Liste nicht durcheinander bringt. – Shubhayu
Haben Sie versucht, hierarchyviewer zu sehen, wo Ihre Artikel positioniert sind? – njzk2
@Shubhayu Ich setze Listenadapter nach dem Hinzufügen der Kopfzeile. Ich denke, wenn eine Positionsnummernverschiebung stattfindet und es wichtig ist, dann sollte ein Fehler auftreten, also habe ich nur schwarzen Bildschirm –