如何在RecyclerViewAdapter类中获取活动的TextView,并且 TextView不在布局的行中用于RecyclerView项目。在RecyclerViewAdapter中,我们重写方法
onBindViewHolder(ViewHolder holder, int position){
NewsModel newsModel=values.get(position); //to get the current object
holder.news_title.setText(newsModel.getTitle());
holder.news_body.setText(newsModel.getDescription());
holder.news_published_at.setText("Date "+GiveMeDate(values.get(position).getDate()));}
因为它只获得在ViewHolder extends RecyclerView.ViewHolder
和ViewHolder中声明的那些只会获得View v = inflater.inflate(R.layout.news_item, parent, false);
中的ui,但我想从活动的布局中获取ui,以便我可以在Adapter中更新TextView值所以请帮助完成这项工作。反映布局的图片如下:
答案 0 :(得分:2)
我发现要在Adapter类中使用的Activity的UI。我们应该做 它在Activity中静态,然后创建一个静态方法来更新它的值,之后每当我们想要从Adapter更改它的值时,我们将用实际参数调用该静态方法,它将被更新。我这样做如下
活动
public static TextView counter_value;
public static void update_counter(String value){
try{
counter_value.setText(value);
}
catch (Exception ex){
Log.d("Exception","Exception of type"+ex.getMessage());
}
}
在Adapter类中,只需调用静态方法
News.update_counter(String.valueOf(counter));
答案 1 :(得分:2)
喜欢这个 MyActivity.java
MyActivity myActivity;
public TextView tv_name;
<强> Adapter.java 强>
myActivity.tv_name.setText("InsaneCat");
希望这能帮到你
答案 2 :(得分:1)
通过
获取TextView requiredTextView = (TextView) ActivityName.findViewById(R.id.requiredTextView);