当另一个片段按钮单击时,如何更新回收即可



我有2个选项卡。

a-回收范围/////////B-日记弗拉格

我想在按钮单击日记范围时更新回收范围。

public class RecycleFragment extends Fragment {
    static  DBHelper dbHelper;
    public List<Contact> items = new ArrayList<Contact>();
    MyAdapter adapter = new MyAdapter(items);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        dbHelper = new DBHelper(getActivity());
        super.onCreate(savedInstanceState);
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.recyle_fragment, container, false);
        RecyclerView rv = (RecyclerView) rootView.findViewById(R.id.rv_recycler_view);
        LinearLayoutManager llm = new LinearLayoutManager(getActivity());
        // MyAdapter adapter = new MyAdapter(items);

        rv.setLayoutManager(llm);
        rv.setAdapter(adapter);
        adapter.addTestData();
        adapter.notifyDataSetChanged();
        return rv;
    }
}

====================

public  class  MyAdapter extends RecyclerView.Adapter<DataManager> {
 static List<Contact> items = new ArrayList<Contact>();
public MyAdapter(List<Contact> items){
    this.items = items;
}

@Override
public DataManager onCreateViewHolder(ViewGroup viewGroup, int i) {
    View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.entries, viewGroup, false);
    return new DataManager(v);
}
@Override
public void onBindViewHolder(DataManager holder, int position) {
    Contact item = items.get(position);
    holder.mTitle.setText(item.get1(Contact.Field.TITLE));
    holder.mDate.setText(item.get1(Contact.Field.DATE));
    holder.mMonth.setText(item.get1(Contact.Field.MONTH));
    holder.mTime.setText(item.get1(Contact.Field.TIME));
    holder.mDay.setText(item.get1(Contact.Field.DAY));
    holder.mContent.setText(item.get1(Contact.Field.CONTENT));
    holder.mMood.setImageResource(item.get2(Contact.Field.MOOD));
    holder.mWeather.setImageResource(item.get2(Contact.Field.WEATHER));
}
@Override
public int getItemCount() {
    return items.size();
}
public void setItem(List<Contact> items){
    this.items = items;
    notifyItemChanged (0, null);
}

public void addTestData(){
    Cursor cursor = RecycleFragment.dbHelper.D_getAllData();
    if(cursor != null) {
        if (cursor.moveToFirst()) {
            do{
                add(new Contact(cursor.getString(0),
                        cursor.getString(1),
                        cursor.getString(2),
                        cursor.getString(3),
                        cursor.getString(5),
                        cursor.getString(5),
                        cursor.getString(6),
                        cursor.getInt(7),
                        cursor.getInt(8)));
            }while (cursor.moveToNext());
        }
    }
}

public void add(Contact data){
    items.add(data);
    setItem(items);
}
}

=====================================

按钮单击事件中的日记弃权

case R.id.IV_diary_save:
            if(EDT_diary_title.getText().toString().trim() != null && EDT_diary_title.getText().toString().trim().length() != 0){
                if( EDT_diary_content.getText().toString().trim() != null && EDT_diary_content.getText().toString().trim().length() != 0){
                    dbHelper.D_insertData(EDT_diary_title.getText().toString(), EDT_diary_content.getText().toString(),
                            TV_diary_month.getText().toString(), TV_diary_date.getText().toString(), TV_diary_day.getText().toString(),
                            TV_diary_time.getText().toString(),
                            diaryInfoHelper.getMoodResourceId(SP_diary_weather.getSelectedItemPosition()),
                            diaryInfoHelper.getWeatherResourceId(SP_diary_mood.getSelectedItemPosition())
                    );
                    myAdapter.add(new Contact
                            (String.valueOf(dbHelper.getRow()),EDT_diary_title.getText().toString(), EDT_diary_content.getText().toString(),
                                    TV_diary_month.getText().toString(), TV_diary_date.getText().toString(), TV_diary_day.getText().toString(),
                                    TV_diary_time.getText().toString(),
                                    diaryInfoHelper.getMoodResourceId(SP_diary_weather.getSelectedItemPosition()),
                                    diaryInfoHelper.getWeatherResourceId(SP_diary_mood.getSelectedItemPosition())
                            ));

                    Toast.makeText(v.getContext(), "Success to Insert", Toast.LENGTH_SHORT).show();

                    ((TabActivity)getActivity()).getViewPager().setCurrentItem(0);

                    EDT_diary_title.setText("");
                    EDT_diary_content.setText("");
                }else {
                    Toast.makeText(v.getContext(), "Content is Empty ", Toast.LENGTH_SHORT).show();
                    EDT_diary_content.setText("");
                }
            }else {
                Toast.makeText(v.getContext(), "Title is Empty ", Toast.LENGTH_SHORT).show();
                EDT_diary_title.setText("");
            }
            break;

===============================================================

按钮单击日记范围然后

移动选项卡回收和

回收段内容立即更改新项目插入数据。

,但是现在按按钮单击日记fragment回收不变。

想要更改回收范围。我退出回收段并重新恢复了段。

请帮助我

谢谢

做以下步骤:

1. create and interface in dairy.
2. Write A method in it.
3. create the object of this interface and initialize.
4. create a setter for this object.
5. Now in Recycle Fragment implement this interface.
6. Now finally write you code inside the overridden method of interface

让我们以这个例子为例。用于声明接口。

private getBusinessList list;
    public void setList(getBusinessList list) {
        this.list = list;
    }

    public interface getBusinessList {
        void result(boolean b, String msg,JSONArray array);
    }

现在内部回收片段。

public class SplashActivity extends AppCompatActivity implements ServerCall.getBusinessList

现在初始化接口对象。

serverCall.setBusinessList(this);

这是我实现接口的方法。

 @Override
    public void getBuisnessList(boolean b, String msg,JSONArray array) {
        progressDialog.dismiss();
        if(b) {
           //displayBusinessList(array);
        }
        else {
            Log.e("Exception e",""+msg+" "+array.toString());
        }
    } 

您可以在该方法中写下代码。

最新更新