Android: Wie aktualisiere ich meine Textansicht in einem Fragment?

Ich versuche, Fragmente zu verwenden, um meine erste richtige Android-App zu erstellen. Ich habe eine Haupt-XML. Die obersten Fragmente bestehen aus nur zwei TextViews. Das erste enthält statischen Text und das zweite enthält einen Wert, den ich irgendwann dynamisch von SQL erhalten werde.

Wenn ich dies als meine MainActivity.java bezeichne, wird der Wert der TextView in meinem ersten Fragment glücklich aktualisiert:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    // Set the Text to try this out
    TextView t = (TextView)findViewById(R.id.viewItem);
    t.setText("Text to Display");
}

Ich habe zwei Fragment-XMLs und ein Java, um jedes zu unterstützen, also möchte ich die Einstellung dieses Feldes in das Java setzen, das das Fragment unterstützt, anstatt das Java, das für die MainActivity ist.

Wenn ich es in das Fragment stecke, sieht es so aus:

    public class FragmentMainTop extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
        ViewGroup container, Bundle savedInstanceState){
    // -- inflate the layout for this fragment
    return inflater.inflate(R.layout.fragmentmt, container,false);

    // Set the Text to try this out
    TextView t = (TextView)findViewById(R.id.viewItem);
    t.setText("Text to Display");
}

Aber wenn ich das tue, bekomme ich eine Fehlermeldung in der TextView-Zeile:

"Die Methode findViewById (int) ist für den Typ FragmentMainTop undefiniert."

Warum kennt es diese Methode nicht? Ich habe Ctl / Shift / O, also weiß ich, dass ich die richtigen Importe habe. Ich möchte nicht meinen gesamten Code in MainActivity ablegen, da ich den gesamten Code wiederholen muss, wenn ich das Fragment in einer anderen Aktivität verwenden möchte.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage