D
Dhul-Fiqar
Neues Mitglied
- 0
Hallo,
ich möchte statt den ListView das neue RecyclerView nutzten.
Ich habe nun ein RecyclerView in einer Activity hin bekommen (Ist er so überhaupt gut?), brauche es aber in einem Fragment (, weil mein NavigationDrawer jeweils ein Fragment öffnet und dieses eine Liste anzeigen soll). Ich habe einiges schon probiert, aber bekomme es nicht hin.
So sieht der RecyclerView in der Activity aus:
Desweiteren besitze ich eine activty_main.xml, welches im RelativeLayout ein RecyclerView und darunter ein TextView enthält und eine item_layout1.xml, welches im RelativeLayout ein ImageView und ein TextView enthält (das Layout für das jeweilige Item). Auf Wunsch kann ich es Euch hier gerne zeigen.
Was muss ich ändern damit der RecyclerView in einem Fragment funktioniert?*
Ich bin gespannt auf Eure Antworten!
*Keine Angst ich weiß wie eine Activity ein Fragment öffnet, jedoch nicht wie ich den RecyclerView in dem Fragment aufbaue
ich möchte statt den ListView das neue RecyclerView nutzten.
Ich habe nun ein RecyclerView in einer Activity hin bekommen (Ist er so überhaupt gut?), brauche es aber in einem Fragment (, weil mein NavigationDrawer jeweils ein Fragment öffnet und dieses eine Liste anzeigen soll). Ich habe einiges schon probiert, aber bekomme es nicht hin.
So sieht der RecyclerView in der Activity aus:
Code:
package de.example.recyclerview3;
import android.support.v7.widget.RecyclerView;
// und weitere Imports
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView1;
RecyclerView.Adapter rvadapter1;
RecyclerView.LayoutManager rvLayoutManager1;
static ArrayList<String> itemTexte;
static ArrayList<Integer> itemFotoIDs;
static TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
itemTexte = new ArrayList<>();
itemFotoIDs = new ArrayList<>();
itemTexte.addAll(Arrays.asList("Item 1"
// ...
"Item 20"));
itemFotoIDs.addAll(Arrays.asList(
R.drawable.icon1,
// ...
R.drawable.icon20
));
recyclerView1 = (RecyclerView) findViewById(R.id.recyclerview1);
rvLayoutManager1 = new LinearLayoutManager(this);
recyclerView1.setLayoutManager(rvLayoutManager1);
rvadapter1 = new RvAdapterKlasse();
recyclerView1.setAdapter(rvadapter1);
tv1 = (TextView) findViewById(R.id.textView);
}
}
Code:
package de.example.recyclerview3;
import android.support.v7.widget.RecyclerView;
// und weitere Imports
public class RvAdapterKlasse extends RecyclerView.Adapter<RvAdapterKlasse.ViewHolderKlasse> {
public class ViewHolderKlasse extends RecyclerView.ViewHolder{
TextView itemTextView;
ImageView itemImageView;
public ViewHolderKlasse(View itemView) {
super(itemView);
itemTextView = (TextView) itemView.findViewById(R.id.textViewItem);
itemImageView = (ImageView) itemView.findViewById(R.id.imageViewItem);
}
}
@Override
public ViewHolderKlasse onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemView1 = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_layout1, null);
return new ViewHolderKlasse(itemView1);
}
@Override
public void onBindViewHolder(ViewHolderKlasse viewHolderKlasse, final int i) {
viewHolderKlasse.itemTextView.setText(MainActivity.itemTexte.get(i));
viewHolderKlasse.itemImageView.setImageResource(MainActivity.itemFotoIDs.get(i));
viewHolderKlasse.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.tv1.setText(MainActivity.itemTexte.get(i));
// Was soll es machen?
/* switch (i){
case 0:
// ...
break;
// ...
} */
}
});
}
@Override
public int getItemCount() {
return MainActivity.itemTexte.size();
}
}
Desweiteren besitze ich eine activty_main.xml, welches im RelativeLayout ein RecyclerView und darunter ein TextView enthält und eine item_layout1.xml, welches im RelativeLayout ein ImageView und ein TextView enthält (das Layout für das jeweilige Item). Auf Wunsch kann ich es Euch hier gerne zeigen.
Was muss ich ändern damit der RecyclerView in einem Fragment funktioniert?*
Ich bin gespannt auf Eure Antworten!
*Keine Angst ich weiß wie eine Activity ein Fragment öffnet, jedoch nicht wie ich den RecyclerView in dem Fragment aufbaue