Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android editText.setText不是';行不通_Android_Nullpointerexception_Android Edittext - Fatal编程技术网

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"));