我用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>
当我按下按钮应用程序崩溃。
答案 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以更新或使用它。没有它,应用程序将崩溃。