-1

ナビゲーション用の引き出しアクティビティといくつかの断片を作成しました。Android - テキストビューで日付を表示するエラー

//show date 
    TextView datumprikaz = (TextView)findViewById(R.id.datumprikaz); 
    Date danas = new Date(); 

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
    String novDatum = sdf.format(danas); 

    datumprikaz.setText(novDatum); 
//End of show date 

しかし、私は私のMainActivityで、今それを使用する:1つの断片に私は私が使用して別のアプリでこれを行うために管理DD.MM.YYYY などの日付を表示する必要のあるのTextViewを持っています。 Javaのは、エラーを示す:仮想メソッド「ボイドandroid.widget.TextView.setText(java.lang.CharSequence)」を呼び出すため

試みヌルオブジェクト参照に

このエラーログ、MainActivity.javaありますと私のfragments.xml(大きなコードは無視し、日付部分は1行です):

https://gist.github.com/anonymous/f19acb835b43111f576bef2791c4a28e

答えて

0
TextView datumprikaz = (TextView)findViewById(R.id.datumprikaz); 

あなたのTextView datumprikazは、変数datumprikaznull

+0

のTextViewがフラグメントである: これはコードです。 MainActivity.javaのどこにコードを記述しますか? – Ivan

0

理由は、あなたのテキストビューが正しく初期化されていないことである、なぜあなたそれはだ、なぜあなたはsetContentView

だ同じレイアウトではありませんNullPointerExceptionを取得します。あなたのコードがフラグメントクラスにある場合は、次のようにTextViewを取得する必要があります:

TextView datumprikaz = (TextView)getView().findViewById(R.id.datumprikaz); 

希望します。

+0

getViewは赤です。それは言うメソッド 'getView()'を解決できません 助けてください – Ivan

+0

getView()を呼び出そうとしていますか? –

0

私はそれを理解しました!私はちょうどそのフラグメント(私の場合はTvrdjavaFragment)にコードを追加する必要がありました。

public class TvrdjavaFragment extends Fragment { 


public TvrdjavaFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.fragment_tvrdjava, container, false); 
    // Inflate the layout for this fragment 
    //show date 
    TextView datumprikaz = (TextView) view.findViewById(R.id.datumprikaz); 
    Date danas = new Date(); 

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
    String novDatum = sdf.format(danas); 

    datumprikaz.setText(novDatum); 
    //End of show date 
    return view; 
} 

私はショーの日付を追加しました(コメントタグを見る)

関連する問題