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

时间:2016-10-31 22:32:43

标签: android layout-inflater

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

list-stacks

这是我的onClick函数:

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

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

1 个答案:

答案 0 :(得分:1)

好的,你基本上做了以下几点:

alert.setView(R.layout.alert_view);

使用这行代码,您可以指示AlertDialog.Builder类从指定资源R.layout.alert_view中扩充新布局,并将其设置为AlertDialog的布局。

使用以下几行代码,您会夸大同一资源的布局。 在本例中,您设置了OnClickListener。但是你构造的布局永远不会被设置为AlertDialog.Builder对象。

因此AlertDialog.Builder无法了解您的布局并使用了alert.setView(R.layout.alert_view);指定的布局。这对你说得好吗?