这是我的第一个应用程序,我遇到了一些麻烦。
当我运行应用程序时,它崩溃,我不知道如何解决此错误。
public class MainActivity extends AppCompatActivity {\
TextView outputBottom = (TextView)findViewById(R.id.output);
}
public void play_the_big_lie(View view) {
the_big_lie.start();
outputBottom.setText("ObamaCare, the big lie");
}
答案 0 :(得分:11)
setText中的字符串文字无法翻译
这不是错误,您可以放心地忽略它(除非您需要在应用中进行翻译)。
Android Studio通知您应该使用字符串资源文件而不是硬编码字符串。
如果由于你没有发布logcat而我不得不猜测问题的根源,那就是这个。
您无法在findViewById
之前使用setContentView
,因为没有查看"查找"。
请尝试以下代码
public class MainActivity extends AppCompatActivity {
private TextView outputBottom;
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);
outputBottom = (TextView)findViewById(R.id.output);
}
答案 1 :(得分:5)
这里有两个问题。首先,你不能使用findViewById
,直到你“创造”了东西并且有了查找东西的视图,所以你想要将之前的答案分开。
public class MainActivity extends AppCompatActivity {
private TextView outputBottom;
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);
outputBottom = (TextView)findViewById(R.id.output);
}
...
}
要设置文本,最好不要用引号中的字符串“硬编码”,而是创建一个字符串文件并要求它,这看起来更像是:
outputBottom.setText(R.string.my_words);
以下是developer notes on strings。
如果您正在使用Android Studio,那么有关于如何实现这一目标的教程。
答案 2 :(得分:0)
您可以通过添加
来忽略这些警告 lintOptions {
disable 'MissingTranslation'
}
到gradle.build文件。