在Android Studio中,在Activity的方法中将文本从XML调用到手动创建的对象

在Android Studio中,在Activity的方法中将文本从XML调用到手动创建的对象,android,xml,Android,Xml,我试图通过onCreate方法中的for循环使用编程而不是XML布局来创建一个submit and clear按钮,我已经从string.XML中定义了按钮的标签文本并分配了它。但是,当我运行应用程序时,它已停止 我试图隐藏按钮标签设置,它可以作为应用程序上显示的useal2按钮正常工作,因此我想知道是否无法直接从XML调用字符串标签??或者我错过了一些可以这样做的事情。请给我一些意见 protected void onCreate(Bundle savedInstanceState)

我试图通过onCreate方法中的for循环使用编程而不是XML布局来创建一个submit and clear按钮,我已经从string.XML中定义了按钮的标签文本并分配了它。但是,当我运行应用程序时,它已停止

我试图隐藏按钮标签设置,它可以作为应用程序上显示的useal2按钮正常工作,因此我想知道是否无法直接从XML调用字符串标签??或者我错过了一些可以这样做的事情。请给我一些意见

    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中发布错误吗?您已经尝试了上述建议,但仍然存在错误。我已经发布了上面的错误消息供参考。顺便说一句,我已经尝试了我的声明和你的建议,发现两种方法都有效。我可以知道我们的声明有什么不同吗?