0
タイトルは、私の問題は、2つのタブを持つビューページャーを持っていることです.1つはrecyclerviewでsqliteデータベースからデータを取り出します。最初のエントリを表示しますが、私はより多くを作成しました。リサーブラービューのタブフラグメントを持つビューページャは、データベースの最初のアイテムを表示するだけです。
これは私のrecyclerviewアダプタ
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);
}
}
であり、これは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 {
}
}
感謝!
私の悪い!それでも問題はありませんが、最初の項目を表示するだけです。 – user3317343
私はもうプログラムできないべきだと思っています。今は愚かな気がします。問題は、recyclerviewのレイアウトに問題があった時、親はheight = "match_parent " – user3317343