Я пытаюсь использовать recyclerview, и я пытаюсь разработать метод 'setText' в числе использования в видоискателе в параметре item.
Проблема в том, что когда я помещаю "item.getNumber ()" в Приложение метода setText не работает. Я не знаю, почему, когда я помещаю только строку в метод, не возникает проблем, а у "item.getNumber ()" возникают проблемы без сообщений об ошибках.
адаптер:
public class adapter extends RecyclerView.Adapter<adapter.ViewHolder> {
ArrayList<data> items=new ArrayList<data>();
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater=LayoutInflater.from(parent.getContext());
View itemView= inflater.inflate(R.layout.itemlayout, parent,false);
return new ViewHolder(itemView);
}
public void additem(data item){
items.add(item);
}
@Override
public void onBindViewHolder(@NonNull adapter.ViewHolder holder, int position) {
data item=items.get(position);
holder.setText(item);
}
@Override
public int getItemCount() {
return items.size();
}
static class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
EditText editText;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
editText = itemView.findViewById(R.id.editText);
}
public void setText(data item) {
textView.setText(item.getNumber());
editText.setHint(item.getSentences());
}
}
}
mainActivity:
public class MainActivity extends AppCompatActivity {
static int num = 6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.recyclerview);
adapter adapter1 = new adapter();
for (int i = 0; i < num; i++) {
adapter1.additem(new data("sentences", i + 1));
}
recyclerView.setAdapter(adapter1);
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(layoutManager);
}
}
данные. java:
public class data {
String sentences = null;
int number;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public data(String sentences, int number) {
this.sentences = sentences;
this.number = number;
}
public String getSentences() {
return sentences;
}
public void setSentences(String sentences) {
this.sentences = sentences;
}
}