2016-07-19 8 views
0

Der Titel sagt alles, aber nur für den Fall, dass ich einen Viewpager mit zwei Tabs habe, eine mit einer Recyclerview, die Daten aus einer SQLite-Datenbank aber nur abholen Zeige den ersten Eintrag, aber ich habe mehr erstellt.viewpager mit Tab Fragmenten mit Recyclerview nur erste Artikel aus der Datenbank anzeigen

das ist mein 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); 
} 

}

und das ist das Fragment-Klasse mit dem 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 { 

} 

}

Dank im Voraus!

Antwort

0

Ich weiß nicht, was passiert ist, aber es repariert nur ganz allein.

+0

mein schlechtes! immer noch mit dem gleichen Problem, nur das erste Element zeigt – user3317343

+0

ich denke, ich sollte nicht mehr programmieren dürfen, ich fühle mich dumm, jetzt die ganze Zeit war das Problem mit dem Layout für die Recyclerview, das Elternteil war mit height = "match_parent " – user3317343

Verwandte Themen