ListActivity:onListItemClick上没有触发的按钮

时间:2014-12-15 06:04:26

标签: 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);

            //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();
            }
        });
    }

3 个答案:

答案 0 :(得分:1)

尝试在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);

                        }

答案 1 :(得分:0)

公共类MainActivity extends Activity实现了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;
    }
}

}

答案 2 :(得分:0)

在Adapter&#39的GetView()方法上编写OnClick方法。