2016-07-28 26 views
-1

mText wird nicht in der Benutzeroberfläche aktualisiert! Könnte jemand die korrekte Art der Anzeige von TextView beim Aufruf einer Aktivität in einem Fragment erklären?android - TextView wird nicht in der UI aktualisiert

Dank =)

+0

Sie die '' TextView' in onCrateView' direkt von 'findViewById' zugreifen können, warum verwenden Sie' TextViewExample'? –

+0

Haben Sie setContentView (..) in der Aktivität aufgerufen, die Sie als Parameter an Ihre Klasse übergeben? – user1841702

+0

Sie haben nichts aus Ihrem System ausgeblasen und wenn Sie ein dynamisches TextView erstellen möchten, müssen Sie es in Ihrem Layout hinzufügen. Ich sehe keinen bestimmten Android-Standard gefolgt .. bitte lernen Grundlagen von Android & Fragment .. !! –

Antwort

0

können Sie die Aktivität der Zugriff TextView im Fragment (dieses Fragment unter der Annahme auf die Aktivität gebunden ist) in Verbindung:

//This is the Fragment class 
public class TextViewFragment extends Fragment { 
    private TextView mText; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     // you need to inflate the xml file holding this TextView. 
     mText = (TextView) getActivity().findViewByid(R.id.<your-text-view-id>; 
     // do something with your TextView 
    } 
} 

Unbedingt getActivity() == null überprüfen NPE zu vermeiden.

0

Aktivität:

public class MainActivity { 

    private TextView mTextViewExample; 

    protected void onCreate(Bundle savedInstanceState) { 
     ... 
     mTextViewExample = (TextView) findViewById(R.id.TextViewLayout); 
     } 
    } 

    public void setTextViewExampleText(String text) { 
     mTextViewExample.setText(text); 
    } 

TextViewFragment

public class TextViewFragment extends Fragment { 

    @Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     ((MainActivity) getActivity()).setTextViewExampleText("text"); 
    } 
}