【问题标题】:Basic android app showing blank white screen?显示空白屏幕的基本android应用程序?
【发布时间】:2018-04-16 07:51:07
【问题描述】:

我是安卓工作室的新手。现在,我正在制作一个基本应用程序,当您单击屏幕上的按钮时,它会从 4 递归倒数到 0。当我在设计视图中查看我的 activity_main.xml 时,它显示了我想要的内容,但是当我在我的虚拟设备上运行我的应用程序时,它只显示一个没有任何内容的白屏。我怎样才能解决这个问题?我把我的代码贴在这里,我的代码几乎都在activity_main.xml和MainActivity.java中

这里是activity_main.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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >``

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/button1Contents"
        android:onClick="sendMessage"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_toRightOf="@+id/button1"
        android:text="@string/textView1Contents" />

</RelativeLayout>

这是我的 MainActivity.java

public class MainActivity extends Activity {

    private static final String TAG = "OneButtonRecursion";

    public void sendMessage(View view) {
        Button clickedButton = (Button) view;

        if (clickedButton == findViewById(R.id.button1)) {
            TextView cup = (TextView) findViewById(R.id.textView1);
            int handFull = Integer.parseInt(cup.getText().toString());

            if (handFull > 0) {
                cup.setText(handFull + "");
                playNextCup(cup, handFull);
            }
        } else {
        }
    }

    public static void playNextCup(TextView cupIn, int handFullIn) {
        handFullIn--;
        cupIn.setText(handFullIn + "");

        if (handFullIn != 0) {
            playNextCup(cupIn, handFullIn);
            Log.i(TAG, "In recursion " + handFullIn);
        } else {
        }

    }
}

这是我的strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">One Button Recursion</string>
    <string name="action_settings">Settings</string>
    <string name="button1Contents">Button1</string>
    <string name="textView1Contents">4</string>

</resources>

【问题讨论】:

    标签: android


    【解决方案1】:

    你只是忘了Override onCreate()方法

    onCreate() 在活动开始时调用。这是大多数初始化应该去的地方:调用 setContentView(int) 来膨胀活动的 UI,

    只需Override onCreate() 在您的活动中它就会

    public class MainActivity extends AppCompatActivity {
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
    
    
        }
    
    }
    

    【讨论】:

    • 糟糕,甚至没有意识到这一点。完美解决了,谢谢。
    • 还有一点是,你永远不应该,永远不要在静态上下文中使用视图。最终可能会导致内存不足。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多