无法在Java代码中更改布局内容

时间:2013-05-29 07:25:35

标签: java android layout

非常简单的问题,但也非常奇怪:

我有一个扩展Activity的类PanelGlobalActivity,它被设置为布局panel_view_activity。我有一个按钮和一个文本视图,都有ID。

当我findViewById(R.id.*)时,它可以看到我的按钮和我的文本视图,但我无法改变它们的值或任何东西。就像button.setText("Hello")会编译但不会改变它。

有什么想法吗?

这是我的xml文件(panel_view_activity):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<Button 
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />  

<TextView 
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

</LinearLayout>

这是我的java类:

public class PanelGlobalActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.panel_view_activity);

    TextView label = (TextView)findViewById(R.id.text1);
        label.setText("Test");


}

}

感谢。 NIC。

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

public class PanelGlobalActivity extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

   Button someButton = (Button) findViewById(R.id.yourButtonId);
   someButton.setText("text changed");
   }
}

如果使用日食,编码的一些提示:

1.使用Ctrl + Shift + O(自动导入必要的库或任何内容) 2.使用Ctrl + W(这列出了对象的所有可能方法),就像您键入“someButton.s”然后按Ctrl + W一样,将显示所有可用的方法

答案 1 :(得分:0)

  

您的示例代码没有任何问题...我已经运行它完全没问题。 ..