![](/img/trans.png)
[英]How do i make 1 button play random sounds each time i press the button using android studio
[英]Android Studio - How do I make my RecyclerView contain more items after a button press?
我創建了一個帶有editTexts的RecyclerView,其大小由適配器構造函數中的integer定義,但是現在我想實現一個Button,將integer增加一個,這樣我的recyclerView中添加了另一個editText。 問題是我不知道如何在第一次創建 recyclerView 后更新它的大小,這里是代碼和我到目前為止所嘗試的。
主要活動:
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private int playerAmount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
playerAmount = 6;
recyclerView = findViewById(R.id.recyclyerViewNames);
MyAdapter myAdapter = new MyAdapter(this, playerAmount);
recyclerView.setAdapter(myAdapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
public void addPlayers(View view){
playerAmount++;
recyclerView.getAdapter().notifyDataSetChanged();
Log.d("players",String.valueOf(playerAmount));
Log.d("players in adapter",String.valueOf(recyclerView.getAdapter().getItemCount()));
}
}
適配器 class:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
Context context;
int playerAmount;
public MyAdapter(Context ct, int players){
context = ct;
playerAmount = players;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.enter_name, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return playerAmount;
}
public class ViewHolder extends RecyclerView.ViewHolder {
EditText editText;
public ViewHolder(@NonNull View itemView) {
super(itemView);
editText = itemView.findViewById(R.id.editname);
}
}
}
從理論上講,您只需更新適配器的列表,然后必須調用notifyDataSetChanged
,其他一切都將由 Android 自己處理。
在您的情況下,您根本沒有創建列表。 您在適配器實現中缺少一些東西。
我會通過本文檔推薦 go https://developer.android.com/guide/topics/ui/layout/recyclerview
您將在頁面末尾找到 Google 提供的示例代碼鏈接,並嘗試更好地了解Recylerview
,這樣您將在更好的 position 中繼續進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.