内部にリストビューを持つAndroidタブホストがあります.listviewitemをクリックすると、タブレイアウト内の古いリストの場所に新しいリストを表示したいと思います. どうすればこれを実装できますか? (フラグメントではなくリストビューを使用する必要があります)
ありがとう!
内部にリストビューを持つAndroidタブホストがあります.listviewitemをクリックすると、タブレイアウト内の古いリストの場所に新しいリストを表示したいと思います. どうすればこれを実装できますか? (フラグメントではなくリストビューを使用する必要があります)
ありがとう!
私は解決策を見つけました:次のように、タブホスト内にアクティビティグループを配置しました:
public class DrillDownWrapper extends ActivityGroup {
private ArrayList<View> history;
public static DrillDownWrapper group;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
history = new ArrayList<View>();
group = this;
//put the first listactivity
Intent i = new Intent(DrillDownWrapper.this, ListActivity.class);
View view = getLocalActivityManager().startActivity("ListActivity", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
replaceView(view);
}
public void replaceView(View v) {
history.add(v);
setContentView(v);
}
public void back() {
if(history.size() > 1) {
history.remove(history.size()-1);
setContentView(history.get(history.size()-1));
} else {
finish();
}
}
@Override
public void onBackPressed() {
DrillDownWrapper.group.back();
return;
}
}
listactivity 内では、getParent() メソッドを呼び出すことでコンテキストを取得できます (つまり、ダイアログを表示するため)。