0

某些元素正在窃取焦点,并且我的列表视图上的点击没有注册。有人可以建议一种方法来找到哪个吗?

这是该应用程序的工作方式:

Activity > 内部自定义 View > onTouch > AlertDialog.builder.setView(custom ListView)

我错误地认为我需要两个选择,并且完全成功地使用了相同的设置,之前在构建器上使用了 .setPositiveButton 和 .setNegativeButton 。但我需要更多选择,因此需要一个 ListView。

以下是 ListView 中的相关行:

final ListView lv = new ListView(this);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names) {
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) { convertView = new TextView(GameActivity.this); }
    ((TextView)convertView).setText((String)getItem(position));
    return convertView;
  }
  public long getItemId(int position) { return position; }
  public String getItem(int position) { return names[position]; }
  public int getCount() { return names.length; }
});                     
lv.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  ///////Nothing happens, never called
  }
}); 

我阅读了二十或三十篇堆栈溢出帖子,几乎总是与视图窃取焦点有关。哪个视图正在窃取焦点,我该如何调试?

谢谢!:)

4

1 回答 1

0

答案在 Sam 的评论中:它很简单,我并没有关闭()对话。

于 2012-11-26T15:09:27.713 回答