如何通过按钮覆盖 Java String 中的值?

Posted

技术标签:

【中文标题】如何通过按钮覆盖 Java String 中的值?【英文标题】:How can I override a value in Java String by a button? 【发布时间】:2019-05-27 13:27:58 【问题描述】:

我有两个 java 类。 “Stickers.java”和“KeyboardService.java”。

我在“Stickers.java”中声明了一个公共类字符串 PACK_LIB,其值为“”。

当我单击按钮“b1”时,该字符串应被“KeyboardService.java”从“”覆盖为“allstickers”。

我成功地将这些类链接在一起,但问题是 Build Fails with -> error: variable PACK_LIB is already defined in class Stickers 公共字符串 PACK_LIB = ""; ^

我怎样才能覆盖这个值?

-----//Stickers.java

public class Stickers 
    public static String 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=""; 


-----//KeyboardService.java

public class KeyboardService extends InputMethodService 

 final Button button1 = (Button) mainBoard.findViewById(R.id.b1);
        button1.setOnClickListener(new View.OnClickListener() 
            public void onClick(View v) 
                Stickers.PACK_LIB = "allstickers";
            
        );

        final Button button2 = (Button) mainBoard.findViewById((R.id.b2));
        button2.setOnClickListener(new View.OnClickListener() 
            public void onClick(View v) 
                Stickers.PACK_LIB = "teststickers";
            
        );


【问题讨论】:

你有 2 个声明:public static String PACK_LIB ="";public String PACK_LIB = ""; 在同一个类中 【参考方案1】:

您在 Stickers 类中定义了两次 PACK_LIB 变量。

public static String PACK_LIB ="";


public String PACK_LIB = "";

删除这些行之一,错误就会消失。

【讨论】:

以上是关于如何通过按钮覆盖 Java String 中的值?的主要内容,如果未能解决你的问题,请参考以下文章

java 如何将一个list中的值全部复制到另一个list中?

在java中覆盖文件内的值

在JSP中如何获取Button按钮中的Value值?

如何将HTML中下拉菜单和文本区域的值传递到java中的

JAVA 语言中如何实现点击一下按钮就将 textField 文本中的值插入到数据库中

java中如何通过Map的key获得它的value?