Java android studio和公共类/属性存在问题
我将在这里举一个实际的例子来说明正在发生的事情,因为现在是我试图解决问题的时候了,但没有结果 这是一个公共类,用于我在不同活动或java文件中需要的方法/属性:Java android studio和公共类/属性存在问题,java,android-studio,Java,Android Studio,我将在这里举一个实际的例子来说明正在发生的事情,因为现在是我试图解决问题的时候了,但没有结果 这是一个公共类,用于我在不同活动或java文件中需要的方法/属性: package com.mgs.bchat; import android.content.Context; import android.widget.Toast; public class Util { public static final String LOG_TAG = "BChat MSG";
package com.mgs.bchat;
import android.content.Context;
import android.widget.Toast;
public class Util {
public static final String LOG_TAG = "BChat MSG";
public static final String SP_NAME = "BChatSharedPreferences";
public static final String SAVED_NICKNAME = "BChatSPSavedNickname";
public static final String INTENT_PARCELABLE = "BChatParcelableGeneric";
public static final String INTENT_DEVICE_NAME = "BChatParcelableName";
public static final String INTENT_DEVICE_MAC = "BChatParcelableMac";
public static final int MESSAGE_STATE_CHANGE = 1;
public static final int MESSAGE_READ = 2;
public static final int MESSAGE_WRITE = 3;
public static final int MESSAGE_DEVICE = 4;
public static final int MESSAGE_TOAST = 5;
public static final String DEVICE = "device_name";
public static void SimpleToast(Context context, String msg)
{
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
这是对其中一个成员变量的调用
package com.mgs.bchat;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Message;
import android.view.View;
import android.widget.Toast;
import com.msg.bchat.Util;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import static com.mgs.bchat.Util.MESSAGE_WRITE;
public interface ChatHandler extends Handler.Callback {
@Override
public boolean handleMessage( Message message) {
switch (message.what){
case Util.MESSAGE_STATE_CHANGE:
switch (message.arg1){
case ChatController.STATE_CONNECTED:
setStatus(getString(R.string.stateConnected)+ connectingDevice.getName());
break;
.
.
.
}
}
我要么使用class.attr表示法,要么对每个属性进行导入,就像上面的一样
import static com.mgs.bchat.Util.MESSAGE_WRITE;
android studio在按ALT+Enter键写入消息时自动创建
现在,MESSAGE_WRITE是公共的,在一个公共类中,并且在一个公共接口中使用(但您知道它也可以是一个私有接口/类,这不会有什么区别)。如果这是纯java,我就不会有问题,但android studio似乎不喜欢java访问说明符和包。
为什么我不能像在java中那样键入MESSAGE_WRITE,而是必须调用它的类或导入该死的属性
我快疯了,请帮帮我。我知道访问说明符和可见性在java中是如何工作的,这个案例对我来说是个谜,请证明我是个白痴,因为我不能阅读或告诉我这是android studio的一个奇怪的bug/“功能”
感谢您抽出时间在您的软件包规格中,您有一个输入错误。您可以导入msg,但包名是mgs。使用:import static com.mgs.bchat.util.*;我可以使用静态属性。我觉得自己很笨,因为之前没有尝试过这个(可能我使用了静态,但我犯了一些其他错误)。多谢各位much@samuele55598如果答案对你有帮助,你可以接受。附近有一个Vi标志。