Кнопка в Listview не работает alertDialog - PullRequest
0 голосов
/ 19 июня 2019

Моя цель - если я нажму button в listview, а затем заработаю AlertDialog.Там нет журнала или ошибки.Приложение в порядке, даже кнопка нажата.На listview onItemClick мы можем сделать диалог.Прокомментируйте пожалуйста.

Я читаю комментарий и показываю свой код.Я управляю listview с помощью адаптера.

, поэтому у меня есть mainActivity.java и listadapter.java. Я устанавливаю listBtnClickListener в файле adapter.java и переопределяю в mainActivity.java.

Я хочу сделать AlertBuilder, но это не работает.

main.java

    @Override
public void onListBtnClick(final int position, int id) {
    final int pos = position;
    if(adapter.getId(1) == id){

        AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
        LayoutInflater inflater = getLayoutInflater();
        View view = inflater.inflate(R.layout.contact_add, null);
        builder.setView(view);
        builder.setTitle("add");

        builder.setNegativeButton("cancel",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });

        AlertDialog dialog = builder.create();
        dialog.show();
        dialog.getWindow().setLayout(400,250);

    }
}

adapter.java

       @Override
public View getView(int position, View convertView, ViewGroup parent) {
    callBtnId = 1;
    delBtnId = 3;
    final int pos = position;
    context = parent.getContext();

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(this.resourceId/*R.layout.contact_listview_item*/, parent, false);
    }

    nameTextView = (TextView) convertView.findViewById(R.id.textView1);
    phoneTextView = (TextView) convertView.findViewById(R.id.textView2);

    listViewItem = (ListViewItem) getItem(position);

    nameTextView.setText(listViewItem.getName());
    phoneTextView.setText(listViewItem.getPhone());

    Button button1 = (Button) convertView.findViewById(R.id.callBtn);
    button1.setTag(position);
    button1.setOnClickListener(this);
    callBtnId = button1.getId();

    return convertView;
}

public void onClick(View v) {
    if (this.listBtnClickListener != null) {
        this.listBtnClickListener.onListBtnClick((int) v.getTag(),v.getId());
    }
}
...