У меня есть ListView
для отображения элементов категории, ниже этого у меня есть меню управления, написанное в LinerLayout, а также EditText
и кнопка «Перейти» в верхней части этого приложения.
Все хорошо в первый раз. однако, когда я нажимаю EditText
для ввода, появляется строка меню, так как появляется клавиатура. Теперь порядок ListView
был изменен.
пример:
в начале: 1 встреча 2 событие 3 расписание 4 напоминание
Позже показывается клавиатура и все останавливается: 1 Расписание 2 Напоминание 3 Встреча 4 Событие.
Я также обнаружил, что эта проблема возникнет только тогда, когда не хватит места для отображения всего ListView
.
Я не могу решить эту проблему после долгого поиска в интернете.
Это мой макет и мой список Apdater
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout ...>
<ListView
android:id="@+id/items"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/widget53"/>
<LinearLayout
android:id="@+id/widget39"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" >
<ImageButton ../>
<ImageButton ../>
<ImageButton ../>
</LinearLayout>
<LinearLayout
android:id="@+id/widget53"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<Button ../>
<EditText .. />
</LinearLayout>
</RelativeLayout>
//Write item on the screen
lv = (ListView)findViewById(R.id.items);
lv.setAdapter(indexadapter.getAdapter());
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(ItemClick);
//My list Adapter generate rows base on mData from database
CategoryHolder CategoryHolder = null;
if (convertView == null) {
//getting view format
CategoryHolder = new CategoryHolder();
convertView = mInflater.inflate(R.layout.categoryshow, null);
CategoryHolder.category=(TextView)convertView.findViewById(R.id.indexcategory);
//setting tag for reuse;
convertView.setTag(CategoryHolder);
//setting text for each item;
CategoryHolder.category.setText((String)mData.get(position).get("CATEGORY"));
}else{
CategoryHolder = (CategoryHolder)convertView.getTag();
}