RecyclerView用のアダプタを設定しようとしています。 「注1」からのデータ入力を収集する文字列をRecyclerViewのonBindViewHolderでsetTextをどのように設定するのですか?
holder.todo.setText(dbList.get(position).getTodo());
holder.note1.setText(dbList.get(position).getNote1());
「TODO」とされている:「シンボルを解決できません 『TODO』と 『注1』」:
のAndroid Studioでこの2行すると、エラーメッセージを返します2つのEditTextを使用して
また、viewHolderが「ローカル変数viewHolderは冗長です」というエラーを表示しています。 お知らせください。
全ListAdaper.java
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder> {
List<DataModel> dbList = new ArrayList<>();
Context context;
LayoutInflater mLayoutInflater;
public ListAdapter(Context context, List<DataModel> dbList) {
this.context = context;
this.dbList = dbList;
mLayoutInflater = LayoutInflater.from(context);
}
@Override
public ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View convertView = mLayoutInflater.inflate(R.layout.singlecard_layout, parent, false);
ListViewHolder viewHolder = new ListViewHolder(convertView);
return viewHolder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
holder.todo.setText(dbList.get(position).getTodo());
holder.note1.setText(dbList.get(position).getNote1());
}
@Override
public int getItemCount() {
return dbList.size();
}
public class ListViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public ListenerEditText todo,note1;
public ListViewHolder(View itemView) {
super(itemView);
todo = (ListenerEditText) itemView.findViewById(R.id.CEditText);
note1 = (ListenerEditText) itemView.findViewById(R.id.DEditText);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
}
}
}
全DataModel.java
public class DataModel {
private String todo;
private String note1;
public String getTodo() {
return todo;
}
public void setTodo(String todo) {
this.todo = todo;
}
public String getNote1() {
return note1;
}
public void setNote1(String note1) {
this.note1 = note1;
}
わかりました。画面をあまりにも長く注視しています。 ListViewHolderに固有のものにして、ここでStringを参照してください!ありがとうございました。 viewHolderオブジェクトが「Local variable is redundant」を投げている理由についてのご意見はありますか? – AJW
これは次の行です。 "ListViewHolder viewHolder = new ListViewHolder(convertView);" – AJW
これはその行で定義され、次の行の "return viewHolder"とそれがファイル内にあります。 – AJW