我已经有一个星期的问题,因为它在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>
答案 0 :(得分:2)
您在布局中使用Textview而不是EditextView
<TextView
android:id="@+id/text"
这一行是你的问题:
EditText txt=(EditText)findViewById(R.id.text);
您将此行更改为:
TextView txt=(TextView)findViewById(R.id.text);
但您需要EditextView
或TextView
您的代码必须类似于:
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());
}