XML / Java按钮单击以更改TextView

时间:2015-06-04 00:37:39

标签: java android xml button textview

我是Java编码的新手,我正在尝试使用按钮按下(在Android应用程序中)来更新文本视图。我正在使用的代码在我尝试按下按钮时导致我的应用程序崩溃。

这是我的XML

<LinearLayout>
<TextView
        android:id="@+id/myTextView_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0" />

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="calculateNewNumber"
        android:text="Calculate New Number" />
</LinearLayout>

这是我的Java

package com.example.android.myapp;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

int startNumber = 0;

public void calculateNewNumber(View view) {
    startNumber = startNumber + 1;
    display(startNumber);
}

private void display(int number) {
    TextView myTextView = (TextView) findViewById(
            R.id.myTextView_text_view);
    myTextView.setText("" + number);
}
}

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:-2)

代码本身工作正常,因此问题必须与您的XML有关,假设您已完全提供它。

使用此XML,您的MainActivity代码可以正常使用。

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

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent">
        <TextView
            android:id="@+id/myTextView_text_view"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="0" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="calculateNewNumber"
            android:text="Calculate New Number" />
    </LinearLayout>

</RelativeLayout>