2016-07-19 2 views
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 { 

} 

}

感謝!

答えて

0

私は何が起こったのかわかりませんが、それだけで一人で固定しました。

+0

私の悪い!それでも問題はありませんが、最初の項目を表示するだけです。 – user3317343

+0

私はもうプログラムできないべきだと思っています。今は愚かな気がします。問題は、recyclerviewのレイアウトに問題があった時、親はheight = "match_parent " – user3317343

関連する問題