0

我正在学习制作 android 应用程序,但我的 hello world 程序按钮有问题。这是我的代码:

 package com.Norwood.helloandroid; import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {
   /** Called when the activity is first created. */
    @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android.");
       setContentView(tv);
   }
   public void onclick01(View View)  
   {  
       Toast.makeText(this, "Will change in 1.2", Toast.LENGTH_SHORT).show();  
   }  

   public void onclick02(View View)  
   {  
       Toast.makeText(this, "Will change in 1.2", Toast.LENGTH_SHORT).show();  
   }  
}

还有我的 XML 文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"
        android:textSize="60sp" />


    <Button
        android:id="@+id/Button01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:minHeight="92sp"
        android:onClick="onclick01"
        android:text="@string/ChangeCoulour"
        android:textSize="22sp" />

    <Button
        android:id="@+id/Button02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:minHeight="92sp"
        android:onClick="onclick02"
        android:text="@string/Change_Text_Colour"
        android:textSize="22sp" />

</RelativeLayout>

但是当我在模拟器和我的 android 上运行该应用程序时,按钮不会显示。它们显示在 XML 文件的图形布局中。

感谢科林 N。

4

1 回答 1

3

尝试:

setContentView(R.layout.yourXml)

您不能按照自己的方式进行操作,因为您必须先将视图设置为 xml。在onCreate之后有setContentview就行了

 TextView tv = new TextView(this);
       tv.setText("Hello, Android.");
       setContentView(tv);//wrong

回复评论: 像这样:

public class MainActivity extends Activity {
   /** Called when the activity is first created. */
    @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.YOUR_XML_FILE_NAME);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android.");

   }
于 2013-03-01T22:42:40.113 回答