詳細を含むアイテムのリストを表示するアプリケーションがあります。ユーザーが項目を選択すると、アプリは追加の詳細を表示します。拡張する 2 つのビューを作成しましRelativeLayout
た。1 つは listView 用、もう 1 つは詳細ビュー用で、両方を同じ親レイアウトに追加しました。これが私のxmlとビューのコード例です。
ListViewで見る
class MyView1 extends RelativeLayout {
private Context context = null;
public MyView1 (Context context) {
super(context);
this.context = context;
createView();
}
private void createView() {
LayoutInflater layoutInflater = (LayoutInflater) context
.getSystemService(Service.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.layout1, null);
this.addView(view );
listview = (ListView) findViewById(R.id.listView);
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Object obj = list.get(position);
MyView1.this.removeAllViews();
MyView1.this.addView(new MyView2(context));
}
});
//Set Adapter
}
}
詳細を表示
class MyView2 extends RelativeLayout {
private Context context = null;
public MyView2(Context context) {
super(context);
this.context = context;
createView();
}
private void createView() {
LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Service.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.layout2s, null);
this.addView(view );
backbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MyView2 .this.removeAllViews();
MyView2 .this.addView(new MyView1(context));
}
});
}
}
これら 2 つのビューをフレーム レイアウトに追加しました。私の問題は、このようにビューを追加/削除するとアプリケーションが遅くなることです。それらをより効率的に追加および削除するにはどうすればよいですか?