Wie man auf UI-Elemente in der übergeordneten Aktivität aus Fragment zugreift

Übergeordnetes Aktivitätslayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".LockerCodeActivity" > <LinearLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:id="@+id/ctrlActivityIndicator" android:indeterminateOnly="true" android:keepScreenOn="false" /> <TextView android:id="@+id/tv_results" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="" /> </RelativeLayout> 

Inflation das Fragment in der übergeordneten Aktivität onCreate-Funktion

  • Android Listview - kann bei der Verwendung eines Cursors keine weiteren Elemente auswählen
  • Running Docker auf Android
  • Anrufaufzeichnungsdienst anrufen! - Android
  • Saubere Weg, um allmähliches Fading von Helligkeit in Android zu implementieren?
  • Android benutzerdefinierte IME verwenden Standard auf Bildschirmtastatur
  • SHA-1 Fingerabdruck des Keystore-Zertifikats
  •  FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Fragment scannerFragment = new ScanFragment(); fragmentTransaction.add(R.id.fragment_container, scannerFragment); fragmentTransaction.commit(); 

    Großartig so weit … jetzt wie verstecke ich die Fortschrittsanzeige? Das habe ich versucht

     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_scan, container, false); ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.ctrlActivityIndicator); progressBar.setVisibility(View.INVISIBLE); return view; } 

    Ich bekomme eine Null-Pointer-Ausnahme

  • Set Gebietsschema programmgesteuert
  • Android: Wie ignoriere oder deaktiviere saveInstanceState?
  • Getting GPS-Koordinaten schneller programmgesteuert ohne Internet, aber mit Netzwerk-Provider und mobile GPS
  • Android Spinner mit ArrayList <String>
  • Dagger 2 auf Android, keine Fehlermeldungen
  • Webview shouldOverrideUrlLoading funktioniert in früheren Android-Versionen außer 4.1.x Jellybean
  • 2 Solutions collect form web for “Wie man auf UI-Elemente in der übergeordneten Aktivität aus Fragment zugreift”

    Da du die Ansichten der Aktivität willst, wirst du das machen wollen:

     ProgressBar progressBar = (ProgressBar) getActivity().findViewById(R.id.ctrlActivityIndicator); 

    Sie rufen getActivity() auf, um die Activity-Instanz zu erhalten, dann verwende du findViewById() als normal (vorausgesetzt, dass R.id.ctrlActivityIndicator Teil des Activity-Layouts ist, bekommst du keine NPEs).

    Dies funktionierte nicht für mich, ich habe das Ergebnis von getActivity auf die übergeordnete Aktivität geworfen. Siehe Link unten: Rufen Sie die Aktivitäten des Elternteils aus einem Fragment auf

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.