不幸的是,当点击按钮时应用程序停止

时间:2018-01-24 08:31:49

标签: java android

我正在尝试使用字符串将名称存储到plainText ..但是当porgramme启动时,我在写入editText后点击按钮后应用程序停止

package com.example.anujt.myapplication;


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {


EditText et;
TextView tv;




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button bt= findViewById(R.id.butt);
    bt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String eString = (et.getText().toString() );
            tv.setText(eString);
        }
    });








}

}

这是字符串......这是不可翻译的吗?

<resources>
<string name="app_name" translatable="false">My Application</string>
<string name="butt" translatable="false">Submit</string>
<string name="write_tour_name_here" translatable="false">Write tour name 
here</string>
<string name="textview" translatable="false">TextView</string>


</resources>

4 个答案:

答案 0 :(得分:2)

未初始化EditText和TextView。 您已使用&#34; findViewById&#34;初始化了按钮,但EditText和TextView缺少该按钮。

答案 1 :(得分:1)

您应该在从Edittext

获取文字之前执行此操作
et = findViewById(R.id.et);
tv = findViewById(R.id.tv);

答案 2 :(得分:1)

试试这个

您尚未初始化Edittext

Button bt= findViewById(R.id.butt);
et = findViewById(R.id.youredittextid);

bt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        String eString = (et.getText().toString() );
        tv.setText(eString);
    }
});

答案 3 :(得分:1)

您必须在使用之前初始化每个视图。

Android Studio 3.0 +

et = findViewById(R.id.idOfEditText);
tv=findViewById(R.id.idOfTextView);

Android Studio&lt; 3.0

et = (EditText)findViewById(R.id.idOfEditText);
tv=(TextView)findViewById(R.id.idOfTextView);