在我正在构建的应用程序中,我有2个listviews,其中包括每行中的2个按钮,一个用于消除该行,另一个用于使用Intent传递给另一个活动。 我通过在Adapter类的getView方法上的两个按钮上设置单击侦听器来检测两个按钮上的单击。 第一个按钮是我无法弄清楚的,因为我需要确定单击按钮的列表视图以及点击的行的位置,我无法实现该操作。 我认为第二个更容易,因为我需要做的就是Intents。 但是我需要从活动类调用一个方法(必须实例化它),因为我无法在非活动类中创建Intent。 最后一个抛出了NullPointerException。 将发布所有代码& logcat,一会儿,马上回来,任何可能的帮助将不胜感激。
答案 0 :(得分:0)
我不知道整个问题,但是如果你想从适配器启动一个Activity,你可以简单地将当前活动传递给适配器构造函数(或者将 getContext()转换为活动,如果您将其用作适配器的上下文)
在一行代码中:
Activity.class.cast(的getContext())startActivity(意向);
答案 1 :(得分:0)
我需要查看您的代码,但基本上能够在适配器代码中调用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);
如果您发布代码,我可以提供更多详细信息