我遇到了无法解决的复杂麻烦。 我有两个名为ActivityA和ActivityB的类。
ActivityB在ActivityA中使用名为“ A”的方法。
因此,“ A”必须是静态的。
在“ A”中使用名为“ ShowSuccessDialog”的函数
,它也必须是静态的。
启动应用程序时,出现错误
“无法从静态上下文中引用的非静态变量”
我尝试将ActivityA.this替换为getContext(),getActivity()
但这不起作用。
我在Google上搜索后发现可以提供帮助,
但是我对此一无所知。
请解决此问题
**************************添加并编辑了********************** ***** 我将添加更多信息。
我的应用包含1个主要活动和3个片段
ActivityA是mainActivity,具有连接蓝牙,发送和接收数据的功能。
ActivityB是一个片段,需要通过蓝牙接收数据
ActivityC是一个接收和发送数据的片段,并具有其他功能。
我试图在活动上定义蓝牙功能,并通过引用活动来使用蓝牙功能。
所以ActivityA是MainActivity,ActivityB是fragmentB
A是连接功能,B是接收数据。
我不擅长编程,所以这是我能做的最好的事情。
因此,我想通过少量编辑来解决此问题。 ;(
答案 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);