2017-02-23 96 views
-1

请帮助我在尝试将TextView文本设置为“测试”时很容易出错。设置TextView文本时出错

以下是错误:

02-23 21:25:43.610 20928-20928/com.example.edward.datepickertest2 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.edward.datepickertest2, PID: 20928 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.edward.datepickertest2.MainActivity$1.onClick(MainActivity.java:28) at android.view.View.performClick(View.java:5204) at android.view.View$PerformClick.run(View.java:21153) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

+0

它很明显地说你正在将值设置为null(TextView)。它没有被初始化。所以请发布您的代码,以便我们可以帮助您。 –

+0

这里的代码 https://www.dropbox.com/s/446mp92ymwbd0j0/TextView%20Error.txt?dl=0 – AgentEddie99

+0

在这里发布的代码不共享链接的代码.. – rafsanahmad007

回答

0

你忘了初始化视图。首先使用findViewById()在onCreate()方法中初始化它,然后设置该值。

+0

对不起?不知道 – AgentEddie99

+0

在onCreate()初始化您的textView像... TextView myTextView =(TextView)findViewById(R.id.myTextView); 然后 myTextView.setText(“您要设置的任何文本”); –

+0

我有。你有没有看过我在这里分享链接到文本文件 – AgentEddie99

0

定义TextView的ID。
机器人:ID = “@ + ID/TextView的”

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView" 
     android:text="Hello World!" 
     android:layout_marginTop="43dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 
+0

由于其代码太长,所以在这里留言是Dropbox文本文档的链接。 https://www.dropbox.com/s/56oedqcuvmjk83v/TextView%20Error%20Layout%20Code.txt?dl=0 – AgentEddie99

0

你没有提到的ID对XML的TextView。谢谢。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.edward.datepickertest2.MainActivity"> 

<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="95dp" /> 

<TextView 
    // missing id 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    android:layout_marginTop="43dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" /> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="textPersonName" 
    android:ems="10" 
    android:layout_marginTop="53dp" 
    android:id="@+id/editText" 
    android:layout_below="@+id/button" 
    android:layout_centerHorizontal="true" /> 
</RelativeLayout> 
+0

那可能是这个原因。但是,没有Android Studio不这样做? – AgentEddie99

+0

java.lang.NullPointerException大多数情况下,当您在xml中提到id或初始化java中的findViewById方法时,会发生此异常。因为我也面临同样的问题:) –

+0

@ AgentEddie99现在运行您的应用程序。如果工作正常,那么将我的答案标记为已接受的答案。 –

0

你发布你的XML文件,并没有任何的ID在TextView

<TextView 
     android:id="textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" 
     android:layout_marginTop="43dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

没有它,你不能引用它。