简体   繁体   中英

viewpager with tab fragments with recyclerview just show first item from database

The title say it all but just in case my problem is that i have a viewpager with two tabs, one with a recyclerview that fetch the data from a sqlite database but just show the first entry but i have created more.

this is my recyclerview adapter

public class RecyclerViewMessagesAdapter extends RecyclerView.Adapter<RecyclerViewMessagesAdapter.TextMessagesViewHolder>{

private DatabaseHandler databaseHandler;
private Context context;

public RecyclerViewMessagesAdapter(Context context){
    this.context = context;
    databaseHandler = new DatabaseHandler(context);
}

@Override
public int getItemCount() {
    return databaseHandler.getAllTextMessage().size();
}

@Override
public TextMessagesViewHolder onCreateViewHolder(ViewGroup parent,int viewType){
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_messages, parent, false);
    TextMessagesViewHolder textMessagesViewHolder = new TextMessagesViewHolder(view);
    return textMessagesViewHolder;
}

public static class TextMessagesViewHolder extends RecyclerView.ViewHolder {

    TextView textviewPhoneNumber, textviewDate;

    TextMessagesViewHolder(View itemView) {
        super(itemView);
        textviewPhoneNumber = (TextView)itemView.findViewById(R.id.textview_recyclerview_phone_number);
        textviewDate = (TextView)itemView.findViewById(R.id.textview_recyclerview_date_to_send);
    }
}

@Override
public void onBindViewHolder(TextMessagesViewHolder holder, int position) {
    holder.textviewPhoneNumber.setText(databaseHandler.getMessage(position+1).getPhoneNumber());
    holder.textviewDate.setText(String.valueOf(databaseHandler.getMessage(position+1).getDate()));
}

@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
}

}

and this is the fragment class with the recyclerview.

public class FragmentHistoryTab extends Fragment{

private View rootView;
private DatabaseHandler databaseHandler;
private TextView textviewEmptySavings;
private RecyclerView messagesRecyclerView;
private OnFragmentInteractionListener mListener;

public FragmentHistoryTab() {

}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    rootView = inflater.inflate(R.layout.fragment_history_tab,container,false);

    return rootView;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    databaseHandler = new DatabaseHandler(getContext());
    textviewEmptySavings = (TextView)rootView.findViewById(R.id.textview_empty_recyclerview);

    RecyclerViewMessagesAdapter adapter = new RecyclerViewMessagesAdapter(getContext());
    messagesRecyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerview_saved_messages);

    messagesRecyclerView.setHasFixedSize(true);
    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    messagesRecyclerView.setLayoutManager(layoutManager);
    messagesRecyclerView.setAdapter(adapter);

    if (databaseHandler.getAllTextMessage().size() >= 1){
        textviewEmptySavings.setVisibility(View.GONE);
        messagesRecyclerView.setVisibility(View.VISIBLE);
    }else {
        textviewEmptySavings.setVisibility(View.VISIBLE);
        messagesRecyclerView.setVisibility(View.GONE);
    }
}

@Override
public void onStart() {
    super.onStart();
}

@Override
public void onResume() {
    super.onResume();
}

@Override
public void onPause() {
    super.onPause();
}

@Override
public void onStop() {
    super.onStop();
}

@Override
public void onAttach(Context context) {
    super.onAttach(context);
}

@Override
public void onDetach() {
    super.onDetach();
}

public interface OnFragmentInteractionListener {

}

}

thanks in advance!

我不知道发生了什么,但它只是一个人解决了。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM