Android 单击按钮调用/修改当前活动
我有一个活动“Android 单击按钮调用/修改当前活动,android,android-activity,android-intent,Android,Android Activity,Android Intent,我有一个活动“MyListActivity”。我有一个与之关联的适配器“MyGridAdapter”。它包含一个按钮网格(比如3个)。每个按钮都有一个“OnClickListner()”。 点击第一个按钮,我将不得不采取同样的行动。因此,我决定重新使用同一个页面,而不是创建类似的另一个活动。意思:我需要调用“MyListActivity”,但需要修改一些参数-增加按钮数量等。。。 我尝试在单击按钮时使用“invalidate()”。但它会重新加载相同的页面,而不做任何更改 如何从适配器中的函数调
MyListActivity
”。我有一个与之关联的适配器“MyGridAdapter
”。它包含一个按钮网格(比如3个)。每个按钮都有一个“OnClickListner
()”。
点击第一个按钮,我将不得不采取同样的行动。因此,我决定重新使用同一个页面,而不是创建类似的另一个活动。意思:我需要调用“MyListActivity
”,但需要修改一些参数-增加按钮数量等。。。
我尝试在单击按钮时使用“invalidate()
”。但它会重新加载相同的页面,而不做任何更改
如何从适配器中的函数调用相同的活动
我的解决方法是:我创建了另一个“tempActivity
”。在其中一个函数中,我尝试启动上一个活动。
“MyGridAdapter
”中的代码:
如果我理解正确;您应该更新传递给适配器的列表,然后调用Adapter.notifyDataSetChanged()。(方法名可能有点不同,我正在手机上键入,无法查找)
您更新的列表必须与适配器提供的列表相同,因此您必须将其引用保留为类的属性。在适配器类中,我们可以使用
上下文启动活动。startActivity(intent)
我不知道我们可以从适配器访问“启动活动”。。。但是现在它工作得很好!!非常感谢您的推荐…我想我的问题不太清楚。我想显示不同的列表,但使用相同的视图。我必须在运行时这样做。我说不出下一个名单是什么。如果下一步调用相同类型的列表,那么我宁愿使用相同的活动/视图,而不是创建新的视图/活动。有没有办法做到这一点?是的,你只是想用不同的数据更新你当前的列表,对吗?按照我上面描述的方法来做。但是我需要更改一个按钮的列表,这个代码在适配器中。那么如何实现呢?在适配器的getView
方法中,您只需使用新的onClickListener创建按钮,请参阅我的这篇文章,以获得类似的解决方案::D感谢链接。我不想使用数组,但下面发表评论的人解决了我的问题。。。非常感谢……您可以,您只需使用正确的上下文,在本例中,这将是您的“活动”
TempActivity temp=new TempActivity();
temp.setIntentObj(<parameters>);
Intent intent=new Intent(this,ListActivity.class); //this gives a "NullPointerException"
startActivity(intent);