2016-05-26 4 views
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は、このためのソリューションを持っている場合、最初のフラグメントからの私のリストビューを更新したいです。アンドロイドでうまくいきません。また悪い英語のために申し訳ありません。前もって感謝します。

答えて

0

リストのアダプタのnotifyDataSetChangedを呼び出すために、UserListDeleteFragmentのonDismissメソッドをオーバーライドします。

関連する問題