2015-02-08 68 views
-2

你好,我想在文本視圖中顯示實際的日期,但我有一些問題。 我收到的日期正確,我打印在日誌上,我看到它。我將日期保存在一個字符串中,但是當我嘗試將字符串傳遞給文本時,返回一個nullpointerexception,我不知道爲什麼,因爲我在日誌上打印了字符串,並且看到它。 我的代碼:在TextView中顯示日期

public void ComprobarDia() { 
    Calendar c = Calendar.getInstance(); 

    SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); 
    String formattedDate = df.format(c.getTime()); 
    Datos.fecha=formattedDate; 
    Log.d("Calendario", Datos.fecha); 
    TV.setText(Datos.fecha); 
} 

我在OnCreate方法執行它。 「Datos.fecha」是一個公共靜態字符串。 爲什麼我在最後一行收到nullpointerexception,但在日誌中顯示正確?

+4

我的猜測是'TV'是'null' – StenSoft 2015-02-08 12:04:59

+0

如何'TV'定義?您是否在佈局中仔細檢查了ID?注意你已經使用'setContentView(R.layout.yourLayout)'在'onCreate()'中分配了你的佈局。 – Trinimon 2015-02-08 12:06:37

+0

許多ifs和buts @ Guixe94。發佈你的'onCreate()'清除所有疑惑。如果你發佈錯誤堆棧,更好, – EdmDroid 2015-02-08 12:13:02

回答

0

您還沒有初始化您的TextView,因此它是null

您的onCreate()方法需要包含此代碼。

//Layout with your TextView 
setContentView(R.layout.yourLayout); 
TextView TV = (TextView) findViewById(R.id.yourTextViewId); 

然後,您可以撥打

TV.setText(Datos.fecha); 
+0

你怎麼知道他沒有初始化'TV'? – EdmDroid 2015-02-08 12:14:20

+0

因爲'TV.setText(Datos.fecha);'給出了一個'nullPointerException',正如問題所述。 @EdmDroid – Marcus 2015-02-08 12:15:23

+0

是的,我把這個:TV =(TextView)myInflatedView.findViewById(R.id.TV);在OnCreateView(因爲我有它在一個片段),現在我沒有nullpointer錯誤,但textView的文本不顯示日期..保持白色,任何人都知道爲什麼? – Guixe94 2015-02-08 12:16:40