Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击按钮调用/修改当前活动_Android_Android Activity_Android Intent - Fatal编程技术网

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