リスト項目の長押しで削除ボタンを表示する必要があります..
私は長押しのコードを持っています..しかし、この長押しの中にボタンを表示するためのコーディング方法がわかりません...
リスト項目の長押しで削除ボタンを表示する必要があります..
私は長押しのコードを持っています..しかし、この長押しの中にボタンを表示するためのコーディング方法がわかりません...
やっと答えが出た…
.xml ファイル
<ImageButton
android:id="@+id/imgdelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/delete"
android:visibility="invisible"/>
.java ファイル
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
arg1.findViewById(R.id.imgdelete).setVisibility(View.VISIBLE);
return false;
}
});
}
まず、コードを使用してその削除ボタンを非表示にするか、xml ファイルでそのプロパティを設定する必要があります。ユーザーがクリックしたときに、longpress
その削除ボタンを表示する必要があります。削除アクションが完了したら、そのボタンを再び非表示にします。
アラートダイアログを使用できます。これが例です
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
final CharSequence[] items = { "Delete Item" };
AlertDialog.Builder builder = new AlertDialog.Builder(
[CLASS_NAME].this);
builder.setTitle("Delete Item");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Intent i;
switch (item) {
case 0:
AlertDialog.Builder builder = new AlertDialog.Builder(
SelectProfile.this);
builder.setMessage(
"Are you sure you want to delete?")
.setCancelable(false)
// Prevents user to use "back button"
.setPositiveButton(
"Delete",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int id) {
//Todo code here
}
})
.setNegativeButton(
"Cancel",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int id) {
dialog.cancel();
}
});
builder.show();
break;
}
}
});
AlertDialog alert = builder.create();
alert.show();
return false;
}
});