将值设置为textview时,应用程序崩溃

时间:2015-07-20 16:25:43

标签: java android

我用textview,edittext和button做了一个简单的活动。 当按下按钮时,我试图在textview中显示edittext的值。

public void click() {
    EditText text1 = (EditText) findViewById(R.id.Text1);
    TextView text2 = (TextView) findViewById(R.id.Text2);    
        text2.setText("text");
        };
}

XML     

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/Text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/Text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:onClick="click" />

</LinearLayout>

当我按下按钮应用程序崩溃。

3 个答案:

答案 0 :(得分:1)

由于您正在使用android:onClick="click",因此android期望在运行时找到具有以下签名的方法:public void click(View view)

变化

public void click() {

public void click(View view) {

其中view是您点击的视图对象

答案 1 :(得分:0)

您使用的是错误的签名。你需要添加param

View view

因此,调用方法应该看起来像

public void click(View view) {//your code here }

在MyActivity类中调用方法单击(视图视图)。

答案 2 :(得分:0)

查看Android视图: http://developer.android.com/reference/android/view/View.html

您需要在方法中传递View以更新或使用它。没有它,应用程序将崩溃。