私は Android で Base アダプターに取り組んでおり、何らかのアクティビティで onBackPress を押すと、どのオーバーライドされたメソッドが BaseAdapter クラスで呼び出されるかを知りたいです。私を助けてください、私は検索しましたが、解決策が見つかりませんでした。
1220 次
4 に答える
1
おそらくリストビューがあり、リストビュー用にカスタムアダプターが設定されています。リストビューはあなたの活動にあります。
class MyActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstancestate)
{
setContentView(R.layout.main);
ListView lv= (ListView) findViewById(R.id.listview);
CustomAdapter cus= new CustomAdapter(MyActivity.this);
lv.setAdapter(cus);
}
}
class CustomAdapter extends BaseAdapter
{
....................
}
したがって、戻るボタンを押すと、現在のアクティビティがバック スタックからポップされ、破棄され、バック スタック内の前のアクティビティがフォーカスされます。これがデフォルトの動作です。
http://developer.android.com/guide/components/tasks-and-back-stack.html
アクティビティで onKeyDown(params) をオーバーライドできます
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
//do something
finish();
return;
}
于 2013-04-18T07:17:47.957 に答える
0
アクティビティでonBackPressedをオーバーライドし、それに応じてデータをアダプターに変更してから、notifyDataSetChangedを呼び出します
于 2013-04-18T06:49:55.107 に答える