In RecyclerView
, the OnBindViewHolder
method , I can not get the TextViews that are located in the ViewHolder
class.
Why? What is the problem?
Please refer to the screenshot:
And my code below:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar_layout)).setTitle("Screen Title");
RecyclerView rv = findViewById(R.id.recyclerview);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.setAdapter(new RecyclerView.Adapter<RecyclerView.ViewHolder>() {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int position) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
return new ViewHolder(view);}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
viewHolder.text1.setText("Bacon");
viewHolder.text2.setText("Bacon ipsum dolor amet pork belly meatball kevin spare ribs. Frankfurter swine corned beef meatloaf, strip steak.");
}
@Override
public int getItemCount() {
return 30;
}
});
}// on create method END
private static class ViewHolder extends RecyclerView.ViewHolder {
TextView text1;
TextView text2;
public ViewHolder(View itemView) {
super(itemView);
text1 = itemView.findViewById(android.R.id.text1);
text2 = itemView.findViewById(android.R.id.text2);
}
}
}