Android ListActivity:按钮在onListItemClick上不触发

Android ListActivity:按钮在onListItemClick上不触发,android,listview,button,Android,Listview,Button,是否仍然可以使按钮与onListItemClick一起工作?我的编辑/删除按钮位于实际列表项中 到目前为止,我无法单击列表项或列表项内的任何按钮。我将xml文件中按钮的焦点设置为false,但这不起作用 感谢您的帮助 @Override protected void onListItemClick(ListView l, View v, int position, final long id) { super.onListItemClick(l, v, position, id); /

是否仍然可以使按钮与onListItemClick一起工作?我的编辑/删除按钮位于实际列表项中

到目前为止,我无法单击列表项或列表项内的任何按钮。我将xml文件中按钮的焦点设置为false,但这不起作用

感谢您的帮助

@Override
protected void onListItemClick(ListView l, View v, int position, final long id) {
  super.onListItemClick(l, v, position, id);

  //button listeners
  edit.setOnClickListener(new View.OnClickListener() {
    @Override
    //On click function
    public void onClick(View view) {
      //Create the intent to start another activity
      Intent i = new Intent(view.getContext(), JournalEntry.class);
      startActivity(i);
      i.putExtra(JournalDB.KEY_ROWID, id);
      startActivityForResult(i, ACTIVITY_EDIT);
    }
  });

  delete.setOnClickListener(new View.OnClickListener() {
    @Override
    //On click function
    public void onClick(View view) {
      journalDatabaseHelper.deleteEntry(id);
      Toast.makeText(JournalList.this, "Entry is being deleted...", Toast.LENGTH_SHORT).show();
      fillData();
    }
  });
}

尝试在onListItemClick函数中使用下面粘贴的代码

                    if (position== 1) {

                            Intent intent1 = new Intent(
                                    getApplicationContext(),
                                    youractivity.class);

                            startActivity(intent1);

                        } else if (position== 2) {

                            Intent intent1 = new Intent(
                                    getApplicationContext(),
                                    youractivity2.class);

                            startActivity(intent1);

                        }

公共类MainActivity扩展活动实现View.OnClickListener{

Button b;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button1:
        Toast.makeText(MainActivity.this, "Entry is being deleted...",
                Toast.LENGTH_SHORT).show();
        break;

    default:
        break;
    }
}

}在适配器的GetView()方法上编写OnClick方法

在SO中不鼓励只使用代码的答案。请详细阅读适配器的工作原理。可以。谢谢你的建议这是什么?这个“答案”给OP和SO的值是多少?在SO中不鼓励只使用代码的答案。我有一个游标适配器。它类似于适配器吗?你有这个代码的例子吗?