2016-09-01 3 views
1

enter image description here У меня есть RecyclerView в фрагменте, и я хочу, когда пользователь нажимает кнопку ниже «Добавить строку» он будет перенаправлять на новый фрагмент, пока здесь нет никаких проблем, я могу достичь его но теперь я хочу, чтобы детали, заполненные в форме будет отображаться как новой строки в recyclerviewСоздать RecyclerView список из Edit Text Content

Как вы можете видеть на картинке выше пользователь может добавить строку в recyclerView динамически, а также есть крест в правом верхнем углу каждой строки, которые удаления строка из списка.

Итак, Что я хочу сделать, это

1) Как я могу добавить строку в список с формой входа, как только пользователь нажмет Сохранить событие затем показать вновь добавленный пользователем строку с его введенные данные в виде

Короче я хочу, чтобы добавить строку динамически из списка с вводимыми пользователем в форме, а также удалить его из списка при нажатии перекрестное пользователь нажимает кнопку в правом верхнем углу элемента строки

+0

обновить список или любой другой контейнер, адаптер использует, а затем вызвать notifyDataSetChanged() или notifyItemChanged notifyItemInserted и т.д. на адаптере – lelloman

+0

что вещь я знаю, но как обновить список с данными формы – androidXP

+0

пожалуйста, напишите соответствующий код – lelloman

ответ

0

I SOLV ред этот вопрос сам, что я сделал, чтобы получить данные обратно в первый фрагмент из второго фрагмента Сначала я создать interface отправить результат fragment_1 (который имеет recyclerview) от fragment_2 (который имеет форму)

Вот мой код формы

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view=inflater.inflate(R.layout.ppl_details_form,container,false); 
     PPL_Title_Spinner= (Spinner) view.findViewById(R.id.PPL_Spinner); 
     Title= (EditText) view.findViewById(R.id.ppl_title); 
     Address= (AutoCompleteTextView) view.findViewById(R.id.ppl_address); 
     Year= (EditText) view.findViewById(R.id.ppl_passing_year); 
     Description= (EditText) view.findViewById(R.id.ppl_description); 
     btn1= (Button) view.findViewById(R.id.ppl_map_button); 

     Save= (Button) view.findViewById(R.id.ppl_save); 
     Save_PPL.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       title=Title.getText().toString(); 
       address= Address.getText().toString(); 
       year=Year.getText().toString(); 
       description=Description.getText().toString(); 
       //PPL Wrapper 
       PPL_list_wrapper list=new PPL_list_wrapper(title,year,address); 

       Add_PPL=(PPL_transfer_data_to_list)getActivity(); 
       Add_PPL.addLocation(list); 
       fragment_1 fragment1=new fragment_1(); 
       FragmentTransaction fragmentTransaction=getFragmentManager().beginTransaction(); 
       fragmentTransaction.replace(R.id.Navigation_Main_Layout,fragment1); 
       fragmentTransaction.commit(); 

      } 
     }); 


    @Override 
    public void onAttach(Context context) { 
     super.onAttach(context); 
     try{ 
      Add_PPL= (PPL_transfer_data_to_list) context; 
     } 
     catch (ClassCastException e){ 
      throw new ClassCastException(getActivity().toString()+" Must Implement Interface"); 
     } 
    } 

и тогда я реализовать infterface в Parent активность, а затем вызвать метод fragment_1 от деятельности как этот

@Override 
    public void addEvent(PPL_list_wrapper PPL_DATA) { 
     fragment_1 recycler=new fragment_1(); 
     recycler.PPL_eve(PPL_DATA); 

    } 

T курица я получить данные в fragment_1 и должен сделать ArrayList в фрагменте static причины без статического списка будет потеряла свою ссылку и данные тоже, и он перестанет показывать данные в recyclerview

public void PPL_eve(final PPL_list_wrapper ppl_list_wrapper){ 
     PPL_wrapper=ppl_list_wrapper; 
     event_details.add(ppl_list_wrapper);//Static ArrayList 
     adapter=new ppl_Recycler_Adapter(getActivity(),event_details); 
     adapter.notifyDataSetChanged(); 

    } 

Я должен убедиться, что мой список является статическим

static List<PPL_list_wrapper> event_details=new ArrayList<PPL_list_wrapper>();