我无法解决空对象引用

时间:2019-08-27 08:16:09

标签: android null

我遇到了无法解决的复杂麻烦。 enter image description here 我有两个名为ActivityA和ActivityB的类。

ActivityB在ActivityA中使用名为“ A”的方法。

因此,“ A”必须是静态的。

在“ A”中使用名为“ ShowSuccessDialog”的函数

,它也必须是静态的。

启动应用程序时,出现错误

“无法从静态上下文中引用的非静态变量”

我尝试将ActivityA.this替换为getContext(),getActivity()

但这不起作用。

我在Google上搜索后发现可以提供帮助,

但是我对此一无所知。

请解决此问题

enter image description here **************************添加并编辑了********************** ***** 我将添加更多信息。

我的应用包含1个主要活动和3个片段

ActivityA是mainActivity,具有连接蓝牙,发送和接收数据的功能。

ActivityB是一个片段,需要通过蓝牙接收数据

ActivityC是一个接收和发送数据的片段,并具有其他功能。

我试图在活动上定义蓝牙功能,并通过引用活动来使用蓝牙功能。

所以ActivityA是MainActivity,ActivityB是fragmentB

A是连接功能,B是接收数据。

我不擅长编程,所以这是我能做的最好的事情。

因此,我想通过少量编辑来解决此问题。 ;(

1 个答案:

答案 0 :(得分:0)

IMO,这样做不是很好的做法。但是要学习如何做,您可以执行以下操作:

1-更改方法ShowSuccessDialog签名和主体,如下所示:

private static void ShowSuccessDialog(Context context) {
     new AlertDialog.Builder(context);
}

2-在方法A中:

private void A() {
    ShowSuccessDialog(ActivityA.this);
}

3-在ActivityB中调用如下方法:

ShowSuccessDialog(ActivityB.this);