我正在尝试使用字符串将名称存储到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>
答案 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);