0
リストビューsetonlongclicklistnerを使用して、削除とキャンセルを示すカスタムダイアログを開きます。以下は私はカスタムダイアログボックスを閉じるときに親フラグメントのリストビューを更新するには
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Cursor c = (Cursor) sp.getItem(position);
int c_id = c.getInt(0);
String userid = c.getString(1) + c_id;
frag = new UserListDeleteFragment();
Bundle bundle = new Bundle();
bundle.putString("id", "" + c_id);
bundle.putString("userid", userid);
frag.setArguments(bundle);
frag.setCancelable(false);
frag.show(Lenderlist.this.getSupportFragmentManager(), "f");
return true;
}
});
選択したリスト項目
public class UserListDeleteFragment extends DialogFragment {
TextView tv1,tv2;
Dialog d;
String user_id,ids;
MyDatabase m;
public UserListDeleteFragment() {
// Required empty public constructor
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
d=null;
m=new MyDatabase(getActivity());
AlertDialog.Builder ab=new AlertDialog.Builder(getActivity());
View v=getActivity().getLayoutInflater().inflate(R.layout.fragment_user_list_delete, null);
tv1= (TextView) v.findViewById(R.id.textviewbutton1);
tv2= (TextView) v.findViewById(R.id.textviewbutton2);
Bundle b=getArguments();
user_id = getArguments().getString("userid");
ids=getArguments().getString("id");
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean b;
m.open();
b=m.deleteTitle(ids);
m.close();
m.open();
m.deletesublist_user(user_id);
m.close();
if(b==true)
{
Toast.makeText(getActivity(),"Deleted",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getActivity(),"Not Deleted",Toast.LENGTH_SHORT).show();
}
d.dismiss();
}
});
tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
d.dismiss();
}
});
ab.setView(v);
d=ab.create();
return d;
}
}
を削除するカスタムダイアログのコードである私は、ダイアログdismiss.Anyの1は、このためのソリューションを持っている場合、最初のフラグメントからの私のリストビューを更新したいです。アンドロイドでうまくいきません。また悪い英語のために申し訳ありません。前もって感謝します。