Android editText.setText不是';行不通
我只想在我的Android editText.setText不是';行不通,android,nullpointerexception,android-edittext,Android,Nullpointerexception,Android Edittext,我只想在我的editText中设置一些文本。我不想在xml中使用android:text=“bla-bla-bla”,因为我在用户输入中得到了一些东西。 是这简单的东西对我不起作用。我的应用程序成功构建,但崩溃 aaaa.setText("sss"); 我在一个新的项目上尝试了它,只是为了验证它是否有效。嗯,事实并非如此。 我的文件:-(新项目的) 布局:- <?xml version="1.0" encoding="utf-8"?> <android.support.con
editText
中设置一些文本。我不想在xml中使用android:text=“bla-bla-bla”,因为我在用户输入中得到了一些东西。
是这简单的东西对我不起作用。我的应用程序成功构建,但崩溃
aaaa.setText("sss");
我在一个新的项目上尝试了它,只是为了验证它是否有效。嗯,事实并非如此。
我的文件:-(新项目的) 布局:-
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.rishav.testing.MainActivity">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="300dp"
android:id="@+id/aaaa"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
只需在onCreate中定义EditText,然后在setText中定义
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText aaaa=(EditText)findViewById(R.id.aaaa);
aaaa.setText("sss");
}
}
您试图在屏幕上创建编辑文本之前访问它。移动这条线
EditText aaaa=(EditText)findViewById(R.id.aaaa);
之后
setContentView(R.layout.activity_main);
EditText aaaa=(EditText)findViewById(R.id.aaaa);
aaaa.setText("sss");
可以将视图定义为字段,但不能在其中初始化它 技术原因:在类初始化时没有为活动定义上下文 如果您计划在接下来的Kotlin上使用其他方法,这也是更好的方法
edit_text_view.text!!.append("some_text")
没有检查,但我认为在Java中会出现类似的情况-
edit_text_view.setText(edit_text_view.getText().append("some_text"));
如果要设置新文本,请首先使用
clear()
函数(对于Editable->edit\u text\u view.getText()
)在onCreate活动中开始创建视图,在此之前,它无法识别您的editText id。调用之前没有视图onCreate@Rishav大体上如果没有任何设置
内容
Gr8,则无法查找视图
。非常感谢。不客气,只要知道活动的周期就行了。这很有帮助。onCreate after on the onStart after on Resume顺便说一句,当您执行此操作时,您的logcat中有一个错误,您应该在问题中包含您的错误构建时没有任何错误。我将包括logcat的错误,我指的是运行时错误。你说setText
不起作用,你的应用程序应该在达到这个程度之前就崩溃了code@cricket_007谢谢你的提醒。已编辑。谢谢,但您还应确保您的代码与stacktrace匹配。错误出现在签名活动中,而不是main活动中
public class MainActivity extends AppCompatActivity {
private EditText aaaa;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
aaaa=(EditText)findViewById(R.id.aaaa);
aaaa.setText("sss");
}
}
edit_text_view.text!!.append("some_text")
edit_text_view.setText(edit_text_view.getText().append("some_text"));