-1

Also habe ich eine Navigations-Schublade Aktivität und einige Fragmente erstellt. Auf einem Fragment habe ich eine Textview, in dem ich das Datum zeigen müssen wie dd.MM.yyyy ich dies auf einer anderen App tun verwaltet mit:Android - Zeige Datum in TextView Fehler

//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 

Aber wenn ich es verwenden jetzt in meinem MainActivity. Java es zeigt den Fehler:

Attempt virtuelle Methode 'VOID android.widget.TextView.setText (java.lang.CharSequence)' auf null Objektreferenz

Dies wird das Fehlerprotokoll, MainActivity.java aufzurufen und meine fragment.xml (ignoriere den großen Code, der Datumsteil ist eine Zeile):

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

Antwort

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

Ihre Textview datumprikaz ist nicht dasselbe Layout, das Sie setContentView

, deshalb variable datumprikaz ist null

+0

Das Textview in einem Fragment ist. Wo lege ich den Code in die MainActivity.java? – Ivan

0

Der Grund dafür ist, dass der Text-Ansicht nicht richtig initialisiert wird, und das ist, warum Sie Erhalte eine NullPointerException. Wenn sich Ihr Code in einer Fragmentklasse befindet, sollten Sie den TextView wie folgt erhalten:

Ich hoffe, es funktioniert.

+0

Das getView ist rot. Es sagt Kann Methode 'getView()' nicht lösen Bitte helfen Sie – Ivan

+0

Wo versuchen Sie, getView() aufzurufen? –

0

Ich habe es herausgefunden! Ich musste nur den Code zu diesem Fragment hinzufügen (in meinem Fall TvrdjavaFragment). Dies ist der Code:

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; 
} 

ich die Show Datum hinzugefügt (siehe Kommentar-Tags)