在Android Studio中,在Activity的方法中将文本从XML调用到手动创建的对象
我试图通过onCreate方法中的for循环使用编程而不是XML布局来创建一个submit and clear按钮,我已经从string.XML中定义了按钮的标签文本并分配了它。但是,当我运行应用程序时,它已停止 我试图隐藏按钮标签设置,它可以作为应用程序上显示的useal2按钮正常工作,因此我想知道是否无法直接从XML调用字符串标签??或者我错过了一些可以这样做的事情。请给我一些意见在Android Studio中,在Activity的方法中将文本从XML调用到手动创建的对象,android,xml,Android,Xml,我试图通过onCreate方法中的for循环使用编程而不是XML布局来创建一个submit and clear按钮,我已经从string.XML中定义了按钮的标签文本并分配了它。但是,当我运行应用程序时,它已停止 我试图隐藏按钮标签设置,它可以作为应用程序上显示的useal2按钮正常工作,因此我想知道是否无法直接从XML调用字符串标签??或者我错过了一些可以这样做的事情。请给我一些意见 protected void onCreate(Bundle savedInstanceState)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TableLayout tableLayout = new TableLayout(this);
tableLayout.setOrientation(TableLayout.VERTICAL);
setContentView(tableLayout);
Button[] buttons = new Button[2];
//button label
buttons[0].setText(R.string.label_calc);
buttons[1].setText(R.string.label_clear);
for(int i=0; i<2; i++) {
buttons[i] = new Button(this);
tableLayout.addView(buttons[i]);
}
}
以下是string.xml中的标签设置:
<!-- button label-->
<string name="label_calc">Calc</string>
<string name="label_clear">Clear</string>
不确定在使用资源字符串时为什么会发生此错误。
我尝试了下面Joao的建议,但虚拟设备仍然会出现错误消息。不幸的是,应用程序已经停止
来自logcat的错误消息如下:
04-26 12:20:27.923 992-992/com.skcalc.stockcalculator E/AndroidRuntime﹕ 致命异常:主
java.lang.RuntimeException:无法启动活动组件信息{com.skcalc.stockcalculator/com.skcalc.stockcalculator.InfoActivity}:java.lang.NullPointerException
原因:java.lang.NullPointerException
我终于把它修好了,请考虑它关闭了。
这是在创建对象之前解决的标签问题。
谢谢您必须使用
buttons[0].setText(getResources().getString(R.string.label_calc));
buttons[1].setText(getResources().getString(R.string.label_clear));
使用您在参考资料中定义的字符串。您可以在logcat中发布错误吗?您已经尝试了上述建议,但仍然存在错误。我已经发布了上面的错误消息供参考。顺便说一句,我已经尝试了我的声明和你的建议,发现两种方法都有效。我可以知道我们的声明有什么不同吗?