我有这个代码
private ListView event_list;
event_list = (ListView) open_event_list.findViewById(R.id.events_list);
loadList(cw.getDate());
“cw”是一个单击的CalendarView,根据你点击的日期会出现一个包含ListView的对话框...只是看下面的图片 内部loadList()方法是
Cursor c = dbHelper.retrieveAllEventsWhere(TABLE_NAME, cwdate);
sched_list = new ArrayList<Schedule>();
Schedule s;
c.moveToFirst();
while(!c.isAfterLast())
{
s = new Schedule();
s.setId(c.getInt(c.getColumnIndex("_id")));
s.setTitle(c.getString(c.getColumnIndex("title")));
s.setDescription(c.getString(c.getColumnIndex("desc")));
s.setTime(c.getLong(c.getColumnIndex("time")));
s.setType(c.getString(c.getColumnIndex("type")));
if(c.getInt(c.getColumnIndex("alarm")) == 1)
s.setAlarm(true);
else
s.setAlarm(false);
Log.d("dbcheck", s.toString());
sched_list.add(s);
c.moveToNext();
}
dbHelper.close();
Log.d("dbcheck", "==============================");
for(Schedule sc: sched_list)
{
Log.d("dbcheck", sc.toString());
}
ScheduleAdapter schedListAdapter = new ScheduleAdapter(this, R.layout.schedule_list_item, sched_list);
event_list.setAdapter(schedListAdapter);
event_list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int arg2,
long arg3) {
TextView sched_id = (TextView) v.findViewById(R.id.sched_id);
Toast toast = Toast.makeText(ScheduleActivity.this, sched_id.getText().toString(), Toast.LENGTH_SHORT);
toast.show();
}
});
所以我的问题是当我点击ListView中的一个项目,它在一个对话框内,它什么都不做,我无法点击或它不可点击没有任何事情发生,因为图片说明
答案 0 :(得分:3)
尝试制作视图的项目 R.layout.schedule_list_item 不可点击且无法调焦。
android:clickable="false"
android:focusable="false"
如果 R.layout.schedule_list_item 的任何子视图都可以获得焦点,那么 OnItemClickListener()可能无法正常工作。
答案 1 :(得分:0)
您应该将此代码输入event_list.setOnItemClickListener
我认为它会解决你的问题
((ScheduleAdapter)event_list.getAdapter()).getItem(0);