私のアプリには、下にスクロールするたびに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秒の遅延があるリストビューに戻るときに、デバイスの戻るボタンをブロックしたい」ということです。