Я новичок, хочу реализовать простой по обучению проект. Но у меня возникли проблемы с реализацией этого На этой фотографии показаны 12 из 240 кнопок, которые я сделал с помощью recyclerview
это представление переработчика создает список уровней, каждый уровень которых имеет различную информацию, которую я хочу установить при нажатии на уровне кнопок, я пытаюсь использовать для этого интерфейс. но onclick установлен для всех элементов recyclerview и не распознает кнопки
package com.guesswords.shayan.levels_list;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import com.guesswords.shayan.dogame.dogame;
import com.guesswords.shayan.guesswords.R;
import java.util.ArrayList;
import java.util.List;
public class Levels_list extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_levels_list);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.Levels_list_Recyclerview);
Level_RecyclerView_Adapter adapter=new Level_RecyclerView_Adapter(this, levelsList());
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapter);
}
private List<Levels> levelsList(){
List<Levels>levels=new ArrayList<>();
for (int i = 0; i < 20; i++) {
Levels level=new Levels();
level.setLevel(""+i);
levels.add(level);
}
return levels;
}
}
----------------------------------------------------------------------------
package com.guesswords.shayan.levels_list;
import android.content.Context;
import android.content.Intent;
import android.preference.TwoStatePreference;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.guesswords.shayan.dogame.dogame;
import com.guesswords.shayan.guesswords.MainActivity;
import com.guesswords.shayan.guesswords.R;
import java.util.List;
import static com.guesswords.shayan.guesswords.R.layout.activity_buy_gold;
import static com.guesswords.shayan.guesswords.R.layout.level_list_sample;
public class Level_RecyclerView_Adapter extends RecyclerView.Adapter<Level_RecyclerView_Adapter.MyViewHolder> {
private Context context;
private List<Levels> levels;
public Level_RecyclerView_Adapter(Context context, List<Levels> levels){
this.context = context;
this.levels=levels;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater =LayoutInflater.from(context);
View view=layoutInflater.inflate(R.layout.level_list_sample,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.Bindlevels(levels.get(position));
holder.setIsRecyclable(false);
}
@Override
public int getItemCount() {
return levels.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private Button level1;
private Button level2;
private Button level3;
private Button level4;
private Button level5;
private Button level6;
private Button level7;
private Button level8;
private Button level9;
private Button level10;
private Button level11;
private Button level12;
private String pos;
public MyViewHolder(final View itemView) {
super(itemView);
level1 = itemView.findViewById(R.id.Button_Level_1);
level2 = itemView.findViewById(R.id.Button_Level_2);
level3 = itemView.findViewById(R.id.Button_Level_3);
level4 = itemView.findViewById(R.id.Button_Level_4);
level5 = itemView.findViewById(R.id.Button_Level_5);
level6 = itemView.findViewById(R.id.Button_Level_6);
level7 = itemView.findViewById(R.id.Button_Level_7);
level8 = itemView.findViewById(R.id.Button_Level_8);
level9 = itemView.findViewById(R.id.Button_Level_9);
level10 = itemView.findViewById(R.id.Button_Level_10);
level11 = itemView.findViewById(R.id.Button_Level_11);
level12 = itemView.findViewById(R.id.Button_Level_12);
}
public void Bindlevels(final Levels levels){
pos = levels.getLevel();
int i = Integer.parseInt(pos)*12;
level1.setText(String.valueOf(i+1));
level2.setText(String.valueOf(i+2));
level3.setText(String.valueOf(i+3));
level4.setText(String.valueOf(i+4));
level5.setText(String.valueOf(i+5));
level6.setText(String.valueOf(i+6));
level7.setText(String.valueOf(i+7));
level8.setText(String.valueOf(i+8));
level9.setText(String.valueOf(i+9));
level10.setText(String.valueOf(i+10));
level11.setText(String.valueOf(i+11));
level12.setText(String.valueOf(i+12));
}
}
}