K. Hall
K. Hall

Reputation: 169

Basic android app showing blank white screen?

I'm new to android studio. Right now I'm making a basic app that recursively counts down from 4 to 0 when you click a button on the screen. When I look at my activity_main.xml in Design view, it shows what I want, but when I run my app on my Virtual Device, it just shows a white screen with nothing on it. How can I fix this? I'll paste my code here, almost all of my code is in the activity_main.xml and MainActivity.java

Here is 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>

and here is my 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 {
        }

    }
}

and here is my 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>

Upvotes: 0

Views: 2812

Answers (1)

AskNilesh
AskNilesh

Reputation: 69671

You just forgot to Override onCreate() method

onCreate() Called when the activity is starting. This is where most initialization should go: calling setContentView(int) to inflate the activity's UI,

Just Override onCreate() inside your activity it will

public class MainActivity extends AppCompatActivity {


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




    }

}

Upvotes: 4

Related Questions