gpt4 book ai didi

android - 从 Activity 更新适配器中的 TextView

转载 作者:行者123 更新时间:2023-11-29 02:25:47 25 4
gpt4 key购买 nike

当我点击按钮“btn”时,我想从 Activity 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
}
});

}

这是我的适配器:

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);
}
}
}

最佳答案

一种方法是使用ViewHolder 作为SlotsActivity 的子类,并在父类中声明TextView 变量。喜欢

public class SlotsActivity extends AppCompatActivity{
private RecyclerView recyclerView;
private MyAdapter adapter;
....
TextView txtView;
.....
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

public ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textViewNum);
}}}

这样您就可以访问和更改 TextView 值。

关于android - 从 Activity 更新适配器中的 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com