0

私のアプリには、下にスクロールするたびに10個のアイテムを追加することで動的に増加するListViewがあります。アイテムをクリックすると、グーグルマップに移動し、listViewに戻るためのボタンがあります。

        public void onClick(View arg0) {

            Intent intent = new Intent(MapMarkerActivity.this,
                    FeedListViewActivity.class);
            startActivity(intent);
        }

しかし、FeedListViewActivityの読み込みには3〜4秒かかるため、この間にデバイスの[戻る]ボタンをクリックすると、画面が0.3秒間点滅し、google-mapが表示されます(基本的にどこにも表示されません)。デバイスの戻るボタンをクリックすると空白の画面が表示され、2回目に戻るボタンをクリックするとlistViewに移動します。問題はここにあります...リストビューをスクロールしようとすると、アプリがクラッシュして次のように表示されます。

IndexOutOfBounf index = 30 size = 10;

だから私は私のonclickを次のように変更しました:

        public void onClick(View arg0) {
            finish();
        }

今、このボタンをクリックすると、空白の画面が表示されます。次に、デバイスの戻るボタンをクリックして、Googleマップからリストビューにアクセスする必要があります。

私の質問は、なぜその空白の画面が表示されるのかということです...つまり、リストビューに戻るために2回クリックして戻る必要があるのはなぜですか。また、indexOutOfBound例外が発生するのはなぜですか。

このように質問に名前を付けた理由は、「(アプリ内の)ボタンをクリックして3〜4秒の遅延があるリストビューに戻るときに、デバイスの戻るボタンをブロックしたい」ということです。

4

1 に答える 1

1

bpgcマップビューからリストビューに戻ってきた場合は、非同期タスクを使用してリストビューをロードしていることを知っていますか????

ブロックバックボタンプレスイベントが必要な場合は、単に使用することを意味します

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
}
于 2012-05-23T08:41:57.590 に答える