【发布时间】:2018-09-13 11:09:53
【问题描述】:
当我点击按钮“btn”时,我想从活动SlotsActivity 更新适配器(textViewNum)中的TextView
如何访问TextView ??
请记住,listItems 不是空的。
这是我的Activity 代码:
public class SlotsActivity extends AppCompatActivity{
private RecyclerView recyclerView;
private MyAdapter adapter;
private List<ListItem> listItems;
private Button btn;
@SuppressLint("WrongViewCast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_slots);
recyclerView = findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
listItems = new ArrayList<>();
....
btn=findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//i want to update the textview here
}
});
}
这是我的Adapter:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<ListItem> listItems ;
private Context context;
public MyAdapter(List<ListItem> listItems, Context context) {
this.listItems = listItems;
this.context = context;
}
....
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
final ListItem listItem= listItems.get(position);
//**I want to update this textView**
holder.textViewNum.setText("N° slot : "+listItem.getNum()+"");
}
....
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
public TextView textViewNum;
public ViewHolder(View itemView) {
super(itemView);
textViewNum = itemView.findViewById(R.id.textViewNum);
}
}
}
【问题讨论】:
-
您要更新特定位置的 num 还是所有位置的相同?
-
您能否指定是要根据位置更改文本,还是要更改
recyclerView中的所有文本? -
@Tepits 我想根据位置更改文本
-
你有id或者职位要更新吗?
标签: android android-recyclerview android-adapter