在Android Studio中的Java中的冗余字符串格式

14 浏览
0 Comments

在Android Studio中的Java中的冗余字符串格式

我试图在按钮被点击后更新TextView。

我使用了Strings.xml来帮助我,并将其命名为“justice”。

不幸的是,当我点击按钮时,显然所有的文本在“justice”中都被加了两次。一次是粗体字,另一次是普通字体。

我尝试了添加“%s”,但也没有起作用。我使用的是Android Studio 3.3.0。

希望在点击按钮时只看到一份“justice”。这个bug是来自Android Studio还是我的代码有问题???有人可以帮我吗?谢谢。

0
0 Comments

问题原因:代码中使用了R.String.justice来设置TextView的文本,但是实际上应该使用R.string.justice。

解决方法:将tView.setText(R.String.justice)改为tView.setText(R.string.justice)。

0
0 Comments

在Android Studio中的Java代码中存在冗余的字符串格式问题。

问题的原因是在代码中设置TextView的文本时存在重复的字符串格式。具体来说,代码使用了getString(R.string.justice)方法来设置文本,但是该方法返回的字符串包含了两次"justice"的文本,一次是加粗样式,一次是普通样式。

解决方法是检查布局文件中是否存在两个独立的TextView字段。如果存在两个TextView字段,那么就会出现同一个文本字段既有加粗样式又有普通样式的情况。删除多余的TextView字段即可解决问题。

此外,还有一个问题是添加<b>和</b>标签无法设置文本的加粗样式。在Android中,要设置文本的加粗样式,需要在布局文件中使用textStyle属性。可以参考stackoverflow上的这个问题:https://stackoverflow.com/questions/4792260

0
0 Comments

在Android Studio中的Java中的冗余字符串格式问题

在解决这个问题之前,首先要检查strings.xml文件,确保没有重复的字符串。如果没有重复的字符串,可以尝试以下解决方法。

首先,我们需要在onCreate方法中找到对应的视图对象的引用。可以使用findViewById方法来获取这些视图对象的引用。

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   tView = (TextView) findViewById(R.id.textView1);
   clickhere = (Button) findViewById(R.id.button1);
   clickhere.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {
          String display = getString(R.string.justice);
          tView.setText(display);
       }
   });
}

需要注意的是,我们不需要对视图对象进行显式的类型转换。以下代码也是可以的。

tView = findViewById(R.id.textView1);
clickhere = findViewById(R.id.button1);

通过以上方法,可以避免在Java中Android Studio中出现冗余字符串格式的问题。

0