2017-02-23 78 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" /> 

沒有它,你不能引用它。