如何在 android 中的片段按钮上添加监听器

how can I add a listener on the buttons of a fragment in android

我试图在单击项目视图时显示弹出窗口。 当弹出窗口打开时,按钮不起作用。 这是我的 onItemClick 函数:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    this.id = position;
    alert.setTitle("Alert");
    alert.setMessage("Souhaitez-vous modifier ou supprimer?");
    alert.setView(R.layout.alert_view);

    LayoutInflater inflater= LayoutInflater.from(this);
    layoutAlert=(LinearLayout)inflater.inflate(R.layout.alert_view,null);

    btn_supp = (Button)layoutAlert.findViewById(R.id.btn_supp_alert);
    btn_modif = (Button)layoutAlert.findViewById(R.id.btn_modifier_alert);
    ed_nom = (EditText)layoutAlert.findViewById(R.id.ed_nom_alert);
    ed_prenom = (EditText)layoutAlert.findViewById(R.id.ed_prenom_alert);
    ed_tel = (EditText)layoutAlert.findViewById(R.id.ed_tel_alert);
    System.out.println(Principal.mesContacts.get(position).getNom().toString());
    ed_nom.setText(Principal.mesContacts.get(position).getNom().toString());
    btn_supp.setOnClickListener(this);
    btn_modif.setOnClickListener(this);
    alert.show();
}

这是我的 onClick 函数:

public void onClick(View v) {

    if(v==btn_supp)
    {
        Principal.mesContacts.remove(id);
        listView.invalidateViews();

    }
    if(v==btn_modif)
    {
        Principal.mesContacts.set(id,new Contact(ed_nom.getText().toString(),ed_prenom.getText().toString(),ed_tel
                .getText().toString()));
       listView.invalidateViews();
    }
}

但是这不起作用,我不知道为什么

好的,你基本上做了以下事情:

alert.setView(R.layout.alert_view);:

使用这行代码,您指示 AlertDialog.Builder class 从指定的资源 R.layout.alert_view 扩展一个新布局并将其设置为 AlertDialog 的布局].

使用以下代码行,您为同一资源扩充了 布局。 对于此实例,您设置 OnClickListener。但是您构建的布局从未设置为 AlertDialog.Builder 对象。

所以 AlertDialog.Builder 不知道您的布局并使用了 alert.setView(R.layout.alert_view); 指定的布局。你明白了吗?