Моя цель - если я нажму 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());
}
}