Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Java 在listview按钮上更改活动_Java_Android_Listview_Android Intent_Android Listview - Fatal编程技术网

Java 在listview按钮上更改活动

Java 在listview按钮上更改活动,java,android,listview,android-intent,android-listview,Java,Android,Listview,Android Intent,Android Listview,在我正在构建的应用程序中,除其他元素外,我有两个ListView,每行上有两个按钮,一个用于删除该行,另一个用于使用意图传递到另一个活动。 我通过在Adapter类的getView方法的两个按钮上设置click listeners来检测两个按钮上的点击。 第一个按钮是我无法理解的,因为我需要确定按钮是在哪个listview中单击的,以及单击的行的位置,我不知道该如何做。 第二个我认为会更容易,因为我所需要做的就是意图。 然而,我需要从activity类调用一个方法(必须对其进行实例),因为我无法

在我正在构建的应用程序中,除其他元素外,我有两个ListView,每行上有两个按钮,一个用于删除该行,另一个用于使用意图传递到另一个活动。 我通过在Adapter类的getView方法的两个按钮上设置click listeners来检测两个按钮上的点击。 第一个按钮是我无法理解的,因为我需要确定按钮是在哪个listview中单击的,以及单击的行的位置,我不知道该如何做。 第二个我认为会更容易,因为我所需要做的就是意图。 然而,我需要从activity类调用一个方法(必须对其进行实例),因为我无法在非activity类中做出意图。 最后一个抛出了NullPointerException。
将在一段时间内发布所有代码和logcat,马上回来,我们将感谢您提供的任何可能的帮助。

我不知道整个问题的答案,但是如果您想从适配器启动一个活动,您只需将当前活动传递给适配器构造函数(或强制转换getContext()到活动,如果您将其用作适配器的上下文)

在一行代码中:


Activity.class.cast(getContext()).startActivity(intent)

我需要查看您的代码,但对于我来说,能够在适配器的代码中调用intent基本上是使用主机活动

大概是这样的:

 item_new = (TextView) convertView.findViewById(R.id.my_view);                                   
 Activity host = (Activity) item_new.getContext();
 Intent intent = new Intent(host, MyActivity.class);
 host.startActivity(intent);

如果你发布代码,也许我可以提供更多细节

我在等你,兄弟