参照用にアイテムクリックリスナーコードにリストビューを配置しています。リストビューの各アイテムクリックで、フラグメントを別のフラグメントに置き換えています。フレームレイアウトファイルにメインフラグメント(フラグメント1)を配置しました。同じビューでフラグメントを切り替えます。
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
if(array[position].equalsIgnoreCase("movies")){
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment1, new next());
transaction.commit();
}
if(array[position].equalsIgnoreCase("serials")){
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment1, new Item2());
transaction.commit();
}
if(array[position].equalsIgnoreCase("restaurents")){
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment1, new Item3());
transaction.commit();
}
}
});
映画をクリックすると、fragment1 は新しいフラグメント (項目 1) に置き換えられます 同様に、シリアルをクリックすると、fragment1 は新しいフラグメント (項目 2) に置き換えられます 新しいフラグメントに切り替えると、fragment1 メモリの割り当てが解除されると考えています(アイテム 1) とフラグメント (アイテム 1) は、フラグメント (アイテム 2) をクリックすると割り当てが解除されます。同じように動作するかどうかを教えてください。リストアイテムのクリックごとに、より多くのフラグメントを使用する必要があるため(リスト内のアイテムの数はより多くなります)。同じように発生するかどうかを知りたいのですが、フラグメントのメモリを管理する方法はありますか。アプリケーションをメモリリークなしで実行したいので、これを行うためのより良い方法を提案してください。