0
제목은 내 문제는 두 개의 탭이있는 viewpager가 있고 하나는 sqlite 데이터베이스에서 데이터를 가져 오는 recyclerview가있는 것입니다. 첫 번째 항목을 표시하지만 더 많이 만들었습니다.recyclerview가있는 탭 조각이있는 viewpager는 데이터베이스의 첫 번째 항목 만 표시합니다.
이 내 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