我目前正在构建一个类似于今天任何Android手机附带的标准闹钟应用程序的ListView。在应用程序中,他们有一个ListView,每行有不同的视图。
例如:
http://www.androidpeople.com/wp-content/uploads/2010/05/listviewwithmultiplechoice.png
和
我希望这两个选项在同一个ListView上使用复选框和可扩展视图。我试过寻找教程,但没有一个真的有帮助。
在我的代码中,我希望视图是可扩展列表视图和多选视图的组合。 做这样的事情最好的方法是什么? 这是我目前的代码。
public class AlarmList extends ListActivity {
AlarmListItem[] items = {
new AlarmListItem("Turn On Alarm", Alerts.class),
new AlarmListItem("Time", Person.class),
new AlarmListItem("Time", MTSU_Android.class),
new AlarmListItem("Sound", Person.class),
new AlarmListItem("Vibrate", Alerts.class),
new AlarmListItem("Repeat", Alerts.class),
new AlarmListItem("Volume", MTSU_Android.class),
new AlarmListItem("BackupAlarm", Person.class)};
@Override
public void onCreate (Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main3);
//ListView list1 = ((ListView)findViewById(R.id.ListView01));
setListAdapter(new ArrayAdapter<AlarmListItem>(
this, android.R.layout.simple_list_item_1, items));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id )
{
super.onListItemClick(l, v, position, id);
final Intent intent = new Intent(this, items[position].getActivity());
startActivityForResult(intent, position);
}
答案 0 :(得分:0)
您需要扩展ListAdapter并覆盖getView。使用传递的位置使用getItem获取对象,然后返回适合传递的对象的视图。
如果视图取决于对象类,则使用instanceof。
进行测试