Я пытаюсь добавить заголовок к моему listView
, но я вижу только черный экран, когда активность запускаетAndroid: AddHeader в 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>
Вы можете заметить, что я использую Coverflow
виджет (отсюда http://www.inter-fuser.com/2010/01/android-coverflow-widget.html) - он отлично работает.
В общем, я меняю listView
, когда Coverflow
вещь изменена. Он отлично работает, но мне нужно Coverflow
, чтобы прокрутить его с помощью listView
, поэтому я решил прикрепить его к заголовку. После этого на экране нет listView
и Coverflow
, все черное.
Вы проверили свой адаптер после добавления заголовка? Когда вы добавляете заголовок, позиции предметов увеличиваются на 1 из-за заголовка. Надеюсь, это не испортит ваш список. – Shubhayu
Вы попробовали файл hierarchyviewer, чтобы узнать, где находятся ваши позиции? – njzk2
@Shubhayu Я устанавливаю адаптер списка после добавления заголовка. Я думаю, что если сдвиг номера позиции имеет место, и это имеет значение, тогда возникает некоторая ошибка, поэтому у меня есть только черный экран –