【发布时间】:2015-11-26 09:44:00
【问题描述】:
在我的应用程序中,我有一个 ListActivity。在此活动中,我需要显示操作列表(例如,Action1、Action2、Action3、Action4)。在调用此 listActivity 的意图中,我传递布尔值(标志)。如果标志为真,我需要显示所有动作。否则我只需要显示 Action1 和 Action2。 我看到了两种方法: 1)在资源文件中创建两个字符串数组(称为actions_1和actions_2),并为我的ListActivity覆盖onStart()方法,如下所示:
String[] action_list;
@Override
protected void onStart() {
super.onStart();
Intent intent = getIntent();
boolean flag = intent.getBooleanExtra("isPayable", false);
if (flag)
action_list = getResources().getStringArray(R.array.actions_1);
else
action_list = getResources().getStringArray(R.array.actions_2);
mAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, action_list);
setListAdapter(mAdapter);
}
2) 为我的 ListView 创建自定义适配器,并在 getView() 方法中隐藏项目设置 layout_height=0dp。 什么方式对性能更好?也许,还有另一种更好的方法?
【问题讨论】:
标签: android performance listview adapter