我有两个Java类。 “ Stickers.java”,它只是一个Java类。 “ KeyboardService”是活动类。
我在“ Stickers.java”中有一个字符串,需要通过两个按钮从活动Java类“ KeyboardService”中覆盖它。
我该怎么办?
我想通过单击按钮从“ Stickers.java”更改字符串“ PACK_LIB”。第一个按钮“ b1”将用“ allstickers”覆盖“ PACK_LIB”,另一个按钮“ b2”将用“ teststickers”覆盖。
但是如何告诉“ KeyboardService.java”字符串在哪里。因为它在不同的Java类中?
// Stickers.java
public void setDefaultStickerPack() {
checkVersion(true);
InputStream in = null;
String packList[]=new String[0];
String PACK_LIB = "";
final String PACK_APP="pack_app";
final String PACK_ICON="pack_on.png";
String curAssets="";
// KeyboardService.java
final String[] PACK_LIB = {""};
final Button button1 = (Button) mainBoard.findViewById(R.id.b1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PACK_LIB[0] = "allstickers";
}
});
final Button button2 = (Button) mainBoard.findViewById((R.id.b2));
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PACK_LIB[0] = "teststickers";
}
});
我还尝试将Java类“ Stickers.java”导入“ KeyboardService”。但是它不能正常工作,它将无法从“ Stickers.java”中找到字符串“ Pack_LIB”。
答案 0 :(得分:1)
PACK_LIB是setDefaultStickerPack()方法的局部变量。将您的代码更改为以下代码,您应该可以从另一个类中看到PACK_LIB。
public String PACK_LIB = "";
public void setDefaultStickerPack() {
checkVersion(true);
InputStream in = null;
String packList[]=new String[0];
final String PACK_APP="pack_app";
final String PACK_ICON="pack_on.png";
String curAssets="";