#android #listview #expandablelistview
#Android #listview #расширяемый listview
Вопрос:
Мой английский оставляет желать лучшего, если вы не понимаете, что я имею в виду, пожалуйста, скажите мне, спасибо.
Мои данные хранятся в SQLiteDatabase, я использую listview для отображения своих данных. и я сам реализую сворачивание / расширение с помощью ListActivity.onItemClick () . но когда childview.setVisibility (View.GONE), иногда пользовательский интерфейс Android показывает половину, я новый пользователь stack overflow, и я не могу публиковать изображения.
1) отображение по умолчанию: расширены все группы
Изображения ссылаются на другой веб-сайт,
3)при нескольких нажатиях на элемент listview основное действие отображало только половину высоты окна
что не так с моим решением. или это ошибка Android?
это код:
@Override
public void onListItemClick(ListView list,View v,int position,long id) {
if(v instanceof RelativeLayout) {
ViewGroup group = (ViewGroup)v;
ImageView groupIndicator = (ImageView) group.getChildAt(0);
TextView itemContentView = (TextView) group.getChildAt(2);
if(itemContentView.getVisibility() == View.GONE) {
groupIndicator.setBackgroundResource(R.drawable.expand);
itemContentView.setVisibility(View.VISIBLE);
} else {
groupIndicator.setBackgroundResource(R.drawable.collapse);
itemContentView.setVisibility(View.GONE);
}
}
}
это XML-макет listview.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/corner"
android:padding="3dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@ id/groupIndicator" android:background="@drawable/expand" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<TextView android:id="@ id/rowTitle" android:paddingLeft="5dip" android:textColor="#FFFFFF" android:textStyle="bold" android:layout_toRightOf="@id/groupIndicator" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<TextView android:id="@ id/rowContent" android:layout_below="@id/groupIndicator" android:padding="5dip" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
</RelativeLayout>
Ответ №1:
Вероятно, вам следует использовать расширяемый ListView. Вместо onListItemClick вы будете использовать onGroupClickListener.
прочитайте документ здесь:http://developer.android.com/reference/android/widget/ExpandableListView.html