RecyclerView in einem Fragment

  • 1 Antworten
  • Letztes Antwortdatum
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:
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
 
Hallo,

kann mir niemand helfen?
 
Zurück
Oben Unten