【问题标题】:Android app crashes creating opening IntentAndroid 应用程序在创建打开 Intent 时崩溃
【发布时间】:2016-01-28 10:59:55
【问题描述】:

当我尝试打开“ReadActivity”时,我的 Android 应用“电子邮件”崩溃。

在 MainActivity 中声明的方法 OpenMail() 应该启动 ReadActivity:

public void OpenMail(View v, int index) {
    String[] mail = {"x", "y", "z"};

    Intent readIntent = new Intent(this, ReadActivity.class); <-- Error occurs here

    readIntent.putExtra("mail", mail);

    startActivity(readIntent);
}

方法在ListViewAdapter中被调用:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    Holder holder = new Holder();

    View rowView = inflater.inflate(R.layout.listview_item, null);

    holder.imageView = (ImageView) rowView.findViewById(R.id.imageView);
    holder.txvSenderMail = (TextView) rowView.findViewById(R.id.txvSender);
    holder.txvSubject = (TextView) rowView.findViewById(R.id.txvSubject);

    holder.imageView.setImageResource(ImageID[position]);
    holder.txvSenderMail.setText(SenderMail[position]);
    holder.txvSubject.setText(Subject[position]);

    rowView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new MainActivity().OpenMail(v, position);
        }
    });

    return rowView;
}

错误:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()'

我希望有人可以帮助我! 谢谢!

【问题讨论】:

  • 把ReadActivity的代码也放上
  • 请输入您的listview_item.xml文件的代码
  • 我认为这并不重要,因为应用程序在开始活动之前就崩溃了!

标签: java android android-intent android-activity


【解决方案1】:

当你这样做时,你实际上是在尝试创建新的 MainActivity

new MainActivity().OpenMail(v, context, position);

如果你目前在 MainActivity 课上,我想你想做这样的事情:

getActivity().OpenMail(v, context, position);

当然,别忘了将ReadActivity添加到AndroidManifest

【讨论】:

  • 或只是OpenMail(v, context, position);
  • 我不能使用 getActivity() 或只使用 OpenMail,因为方法调用在 ListViewAdapter 类中,而方法在 MainActivity 类中!
  • 你是如何创建你的适配器的?像这样?公共自定义适配器(上下文上下文,列表项目){}。然后你就会有上下文,这是你的活动。然后使用 if(context instanceof MainActivity){ ((MainActivity)mContext)。打开邮件(); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
相关资源
最近更新 更多