强制关闭简单的android编码

时间:2015-01-29 20:50:58

标签: java android

我已经有一个星期的问题,因为它在java文件中没有任何实际错误我无法搜索答案。当我尝试强行运行应用程序时因为我是编程新手,所以请原谅我,如果这是一个愚蠢的问题。任何方式让我们到达应用程序,我希望它按下按钮时显示文本字段的时间。这是我的代码

package com.example.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import java.util.Date;

public class MainActivity extends Activity implements View.OnClickListener {
    Button btn;
@Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.activity_main);
    btn=(Button)findViewById(R.id.button1);
    EditText txt=(EditText)findViewById(R.id.text);
    txt.setText("welcome,press the button to show the time");
    btn.setOnClickListener(this);
    }
    public void onClick(View view) {
        updateTime();
        }
    private void updateTime() {
        EditText txt=(EditText)findViewById(R.id.text);
        txt.setText(new Date().toString());
    }
}

如果需要,这是布局

<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="${relativePackage}.${activityClass}" >

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="82dp"
        android:text="Press" />

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="88dp"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

您在布局中使用Textview而不是EditextView

<TextView
        android:id="@+id/text"

这一行是你的问题:

EditText txt=(EditText)findViewById(R.id.text);

您将此行更改为:

  TextView txt=(TextView)findViewById(R.id.text);

但您需要EditextViewTextView

您的代码必须类似于:

public class MainActivity extends Activity implements View.OnClickListener {
    Button btn;
    TextView txt;

@Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.activity_main);
    btn=(Button)findViewById(R.id.button1);
    txt=(TextView)findViewById(R.id.text);
    txt.setText("welcome,press the button to show the time");
    btn.setOnClickListener(this);
    }
    public void onClick(View view) {
        updateTime();
        }
    private void updateTime() {            
        txt.setText(new Date().toString());
    }
}

答案 1 :(得分:0)

    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.activity_test);
    btn=(Button)findViewById(R.id.button1);
    EditText txt=(EditText)findViewById(R.id.text);
    txt.setText("welcome,press the button to show the time");
   // btn.setOnClickListener(this);
}

在你的xml中:

 <Button
    android:id="@+id/button1"
    ....
    android:onClick="onClick"/>

在单击按钮时,在xml中设置onClick将调用该方法。

还将xml和java元素匹配为EditText或TextView。

此外,您不需要创建两个EditText txt。您可以创建两个局部变量。

Button btn;
EditText txt;
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.activity_test);
    btn=(Button)findViewById(R.id.button1);
    txt=(EditText)findViewById(R.id.text);
    txt.setText("welcome,press the button to show the time");
   // btn.setOnClickListener(this);
}
public void onClick(View view) {
    updateTime();
}
private void updateTime() {
    txt.setText(new Date().toString());
}