Skapandet av en recycler view i android studio.

Permalänk

Skapandet av en recycler view i android studio.

Så jag försöker skapa en recycler view och har utgått från ett exempel av en från hemsidan jag länkade med men min fungerar inte som den ska, skulle uppskatta om någon kunde förklara varför och hur jag kan lösa det. Hoppas koden inte är för stökig.
Tack i förväg för hjälpen.Koden jag kopierade

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SimpleAdapter adapter = new SimpleAdapter(generateSimpleList()); //PROBLEM! RecyclerView recyclerView = (RecyclerView)findViewById(R.id.simple_recyclerview); recyclerView.setHasFixedSize(true); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(adapter); } private List<SimpleViewModel> generateSimpleList() { List<SimpleViewModel> simpleViewModelList = new ArrayList<>(); for (int i = 0; i < 100; i++) { simpleViewModelList.add(new SimpleViewModel(String.format(Locale.US, "This is item %d", i))); } return simpleViewModelList; } }

import androidx.annotation.NonNull; public class SimpleViewModel { private String simpleText; public SimpleViewModel(@NonNull final String simpleText){ setSimpleText(simpleText); } public String getSimpleText() { return simpleText; } public void setSimpleText(String simpleText) { this.simpleText = simpleText; } }

import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class SimpleAdapter extends RecyclerView.Adapter { @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { final View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false); return new SimpleViewHolder(view); } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { ((SimpleViewHolder) holder).bindData(models.get(position)); //PROBLEM! } @Override public int getItemCount() { return models.size(); //PROBLEM! } @Override public int getItemViewType(int position) { return R.layout.item_simple_itemview; } }

import android.view.View; import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; public class SimpleViewHolder extends RecyclerView.ViewHolder { private TextView simpleTextView; public SimpleViewHolder(final View itemView){ super(itemView); simpleTextView = (TextView) itemView.findViewById(R.id.simple_text); } public void bindData(final SimpleViewModel viewModel){ simpleTextView.setText(viewModel.getSimpleText()); } }

Main Activity xml.

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/simple_recyclerview" android:layout_width="match_parent" android:layout_height="473dp" /> </FrameLayout>

XML layout 2.

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/simple_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is some temp text" /> </FrameLayout>

Visa signatur

Så jag kommer ihåg. [code][/code]

Permalänk

Vad är det som inte fungerar som det ska? Specifikt?