私は最近登場した奇妙な問題があります。最初は、ListView内のすべてのアイテムをロードしていました。それはすべてうまくスクロールしていた。アイテムはクリック可能で、すべて正常に動作していました。私はと付け加えた私のアダプタのgetViewメソッドで次にTabHostのリストビュースクロール/クリックの問題
:
if(pos == getCount() - 1){
Log.i("Load", "Load database");
load_database(getCount(), 5);
}
、ここではload_database()
private void load_database(long offset, long count) {
ArrayList<VKContent> objs = BaseApplication.db.get_all(Message.class, MessageHandler.COLUMN_MAILBOX + " = " + mailbox, count, offset);
for(VKContent obj: objs){
adp.add((Message)obj);
}
}
がある問題は、その直後に現れました。ロード時には、load_databaseを一度呼び出すとすべてがうまくいきます。 ListViewは正常に動作します。クリックは処理されます。しかし、一度私は "pos == getCount() - 1"に達する。新しいデータが読み込まれますが、アイテムをクリックすることは現在不可能です。私がスクロールしてチラチラをすると、画面上のタッチがチラシを止めません。 flinch中にスクロールしようとすると、flinchが止まるまで何の効果もありません。
別のタブに切り替えると、リストビューの動作が復元されます。スクロールボールを使ってアイテムをフォーカスしようとすると、通常の動作も戻ってきます。
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@android:id/tabhost">
<LinearLayout
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
<LinearLayout android:id="@+id/tab2"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/lv"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:clickable="true" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
編集私は無効にしてみました
()、forceLayout()、requestLayout()、isFocusable()... BringToFront関数...などload_database後。しかし何も助けなかった。
編集2 ほとんどのコードを忘れてしまった。
tabHost.setCurrentTab(1);
tabHost.setCurrentTab(0);
何らかの理由で、TabHostに問題があります。私のListViewはすべてのタブで共有されています。ビューが最初に読み込まれるとき、何も表示されませんでした。だから私は2番目のタブから最初のタブに切り替えなければならなかった。