Android应用已编译但无效

时间:2015-11-09 08:52:10

标签: java android

我在AIDE上创建了一个名为Yash的Android应用程序。它有一个edittext,textview&一个按钮。它的目的是首先通过edittext输入,然后当我们按下按钮时,它应该在textview上显示edittext文本。它开始&接受输入,但当我按下按钮时,它会挂起&显示:“不幸的是Yash已经停止了。”

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />

</EditText>
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=""
    android:id="@+id/oButton"/>
    />
<Button android:layout_height="wrap_content"
    android:layout_width="wrap_content" 
    android:text="Go!"
    android:onClick="bc"
    android:id="@+id/goButton"></Button>
</LinearLayout>

爪哇:

package com.mycompany.myapp4;


import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.Toast;
import android.widget.EditText;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;

 public class MainActivity extends Activity
{

  /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}


public void bc(View view){
    EditText t = (EditText) findViewById(R.id.editText);
    String s = t.getText().toString();

    TextView textView = (TextView) findViewById(R.id.oButton);
    textView.setText(s);

}
    }

3 个答案:

答案 0 :(得分:1)

以下一行

String s = t.toString();

将不会像预期的那样工作,因为这种方式's'是EditText对象't'的String表示。很可能你打算写

String s = t.getText().toString();

答案 1 :(得分:0)

确保您已在AndroidManifest.xml中声明了您的活动

答案 2 :(得分:0)

尝试这种方式。

public class MainActivity extends Activity {
    EditText t;
    TextView textView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initilization();
    }

    public void initilization() {
        // TODO Auto-generated method stub
        t = (EditText) findViewById(R.id.editText);
        textView = (TextView) findViewById(R.id.oButton);

        String s = t.getText().toString();
        if (!TextUtils.isEmpty(s)) {
            textView.setText(s);
        }else {
            // check log its null
        }
    }
}