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.