如何从适配器刷新主要活动中的视图?

     2023-04-19     48

关键词:

【中文标题】如何从适配器刷新主要活动中的视图?【英文标题】:How to refresh a view in main activity from an adapter? 【发布时间】:2016-08-27 04:54:34 【问题描述】:

我在主要活动中有一个图表,我在主要活动中有一个回收者视图。自定义适配器用于 recyclerview。我在列表项布局中有一个复选框和滑动布局。在滑动布局中有一个删除按钮。

当我选中复选框或删除任何项目时,我想重置主要活动图表。

为此,我在主要活动中创建了一种方法。并在适配器 onCheckedChangeListener 和单击删除时调用此方法。

但我在 mBarChart 上遇到空指针异常。 IE 。图形。我在 setUI 方法中的 mBarChart 中进行了实例化,这在活动的 onCreate 中被调用。

重置方法

    public void resetGraph(Context context)


    mBarChart.invalidate();


在适配器中:

  Context conext;
  MainActivity mainActivity;

  mainActivity = new MainActivity();

  mainActivity.resetGraph(conext);

如何做到这一点?请帮忙..谢谢..

【问题讨论】:

notifyDataSetChanged怎么样 我应该如何以及在哪里打电话? @千里眼 您要刷新适配器的数据吗? 我想刷新条形图的数据。 @NarenderNishad 简单使用notifiydatasetchange 【参考方案1】:

在 Adapter 中这样调用你的 resetMethod

((MainActivity)context).resetGraph(context);

【讨论】:

这给了我一个类转换异常。【参考方案2】:

在您的案例中创建一个实现 Activity、Main Activity 并覆盖方法并执行操作的接口。

//Interface

public interface OnRefreshViewListner

  public void refreshView();




//Main Activity
 MainActivity extends Activity implements OnRefreshViewListner


  //Other methods

  @Override
  public void refreshView()

    // write refresh code here

 




//Initialize Interface in adapter constructor

public class YourAdapter extends BaseAdapter 

 private OnRefreshViewListner mRefreshListner;
 public YourAdapter (Context context) 
       mRefreshListner = (OnRefreshViewListner)context; 
    

    //call MainActivity method
    mRefreshListner.refreshView();

【讨论】:

【参考方案3】:

在适配器中,您不应创建 MainActivity 的新实例并调用 resetGraph()。您应该使用创建适配器的 MainActivity 实例。将 MainActivity 的实例发送给适配器,new Adapter(this) 并保存在适配器中。

【讨论】:

【参考方案4】:

您可以从适配器的上下文中更改视图,如下所示: 将上下文转换为活动。 使用 findviewbyid 方法找到你想要的视图。 将其初始化为一个变量。

View v = ((Activity)getContext()).findViewById(WHATEVER_VIEW_COMPONENT_YOU_WANT);

根据需要更改变量。 笔记。不要忘记使用您想要的视图类型并将 findview 方法转换为它。

如果你想调用一个方法,只需将上下文转换为 MainActivity 并调用它。

【讨论】:

从活动更新视图页面中片段中的列表视图

...每个选项卡中都有一个列表视图。我的视图寻呼机有一个适配器,它链接两个片段,在每个片段中, 查看详情

列表视图中的页脚按钮,如何从自定义列表适配器中获取值

】列表视图中的页脚按钮,如何从自定义列表适配器中获取值【英文标题】:Footerbuttoninlistview,howtogetvaluefromcustomlistadapter【发布时间】:2016-03-0211:19:13【问题描述】:我在每一行都有一个带有切换按钮的列表视图。我将检查开关... 查看详情

如何在主要活动中使用按钮 onclicklistener 进行回收视图项目

...recycleview,每个项目都有一个删除按钮。我知道我可以在适配器的onBindViewHolder 查看详情

如何从自定义适配器加载活动 Yes No 对话将数据传递到列表视图?

】如何从自定义适配器加载活动YesNo对话将数据传递到列表视图?【英文标题】:HowtoloadactivityfromcustomadapterYesNoDialoguepassingdatatoalistview?【发布时间】:2021-08-1608:28:54【问题描述】:我有2个自定义列表视图。我使用一个通过编辑... 查看详情

在选项卡中的列表视图中刷新活动 (Android)

】在选项卡中的列表视图中刷新活动(Android)【英文标题】:RefreshactivityinList-ViewinTab(Android)【发布时间】:2018-12-1923:23:29【问题描述】:我在选项卡活动的选项卡中有一个列表视图。假设Activity的名称是“Main”。我想要它,所以... 查看详情

如何将值从基本适配器传递到 Android 中的 Activity

】如何将值从基本适配器传递到Android中的Activity【英文标题】:HowtopassvaluefrombaseadaptertoActivityinAndroid【发布时间】:2015-12-1216:20:45【问题描述】:我在可展开的列表视图标题中添加了一个按钮。单击按钮时,我需要将值从适配器... 查看详情

如何访问适配器类中的 Activity 对象

】如何访问适配器类中的Activity对象【英文标题】:HowtoaccessActivityobjectinAdapterclass【发布时间】:2016-02-2721:01:27【问题描述】:如何访问基适配器类中的活动对象。我使用适配器类作为我的列表视图的适配器。我想访问列表视图... 查看详情

从适配器重新加载 ListView

】从适配器重新加载ListView【英文标题】:ReloadListViewfromAdapter【发布时间】:2020-09-1321:46:56【问题描述】:我的应用上有一个使用适配器管理的列表视图。在适配器内部,我有一个从列表中删除项目的按钮,我的问题是,我无法... 查看详情

如何使用来自另一个活动的自定义适配器更新列表视图?

】如何使用来自另一个活动的自定义适配器更新列表视图?【英文标题】:HowdoIupdatealistviewwithacustomadapterfromanotheractivity?【发布时间】:2015-01-0318:03:48【问题描述】:我正在制作一个消息传递应用程序。到目前为止,一切都很好... 查看详情

我如何使用意图从列表视图转到下一个活动? [复制]

...间】:2018-07-1301:06:51【问题描述】:我创建了带有自定义适配器的列表视图,以将我的图像和文本加载到列表视图中。我想做的下一件事是在单击列表视图项目后使用意图加载下一个活动。但是,一旦我单击它,该应用程序就会... 查看详情

如何在删除记录时刷新适配器的活动?(代码片段)

我在listview中使用androidstudio我添加了适配器。当用户点击listview项目中的删除按钮,然后我想刷新活动。适配器删除按钮定义deletebtn=convertView.findViewById(R.id.delete_btn);deletebtn.setOnClickListener(newView.OnClickListener()@OverridepublicvoidonClick(Vie... 查看详情

如何访问活动内部/从活动中的片段视图组件

】如何访问活动内部/从活动中的片段视图组件【英文标题】:Howtoaccessfragmentviewscomponentsinside/fromactivity【发布时间】:2021-06-1305:01:47【问题描述】:我将导航抽屉与新组件NavController一起使用,我有七个片段,每个片段代表导航... 查看详情

如何使用视图绑定从片段更改父活动中的视图[重复]

】如何使用视图绑定从片段更改父活动中的视图[重复]【英文标题】:HowtochangeviewinparentactivityfromFragmentwithviewbinding[duplicate]【发布时间】:2021-08-1418:27:25【问题描述】:视图绑定是访问视图的推荐方式,此问题已过时:Howtoaccesspa... 查看详情

如何从其他活动访问主要活动中的实例变量和方法? [复制]

】如何从其他活动访问主要活动中的实例变量和方法?[复制]【英文标题】:Howtoaccessinstancevariableandmethodinmainactivityfromotheractivity?[duplicate]【发布时间】:2012-08-2507:33:47【问题描述】:可能重复:Android:Howtodeclareglobalvariables?我想从... 查看详情

从适配器类获取不同活动中的 EditText 值

】从适配器类获取不同活动中的EditText值【英文标题】:GettingEditTextvalueindifferentactivityfromadapterclass【发布时间】:2017-09-2612:44:02【问题描述】:我对Android还很陌生,我正在尝试构建一个货币转换器应用程序。我无法理解如何从Cu... 查看详情

如何从android中的父活动修改片段的文本视图

】如何从android中的父活动修改片段的文本视图【英文标题】:Howtomodifyatextviewofthefragmentfromparentactivityinandroid【发布时间】:2016-10-2623:21:54【问题描述】:在我的活动中,我创建了一些片段publicclassMainActivityextendsAppCompatActivityimplem... 查看详情

当 iOS 应用程序从非活动/挂起状态被召回时,何时刷新视图

】当iOS应用程序从非活动/挂起状态被召回时,何时刷新视图【英文标题】:WhentorefreshaviewwheniOSappisbeingrecalledfrominactive/suspended【发布时间】:2012-03-0914:01:52【问题描述】:我的应用在视图中包含时间敏感信息,当用户从非活动/... 查看详情

从服务中的活动引用文本视图,反之亦然

...智能手机)上的二维码和条形码。它有两个包含程序逻辑主要部分的活动;因此,我想将包含用于处理扫描仪输入的功能的代码的主要部分存 查看详情