1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Probleme mit Context in Actionbar App

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Flixius, 29.07.2012.

  1. Flixius, 29.07.2012 #1
    Flixius

    Flixius Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    132
    Erhaltene Danke:
    4
    Registriert seit:
    24.10.2010
    Hi,

    ich habe große Probleme mit dem Context meiner App. Als Grundgerüst habe ich mir einen Sample Code heruntergeladen in dem eine Actionbar implementiert ist. So weit funktioniert das auch alles ganz gut. Die Tabs werden angezeigt, man kann zwischen ihnen hin und her wechseln und so weiter.

    Ich habe nun schein ein paar Stunden rumprobiert aber ein einfaches Toast bei Buttonklick will mir einfach nicht gelingen. Es scheint etwas damit zu tun zu haben dass der Context der Activity gehört aus der die Tabs aufgerufen und angezeigt werden.

    Um euch nicht mit Quellcode zu überschütten, poste ich erst mal nur was ich alles schon in der TabActivity ausprobiert habe. Auf Nachfrage gebe ich euch natürlich auch den weiteren Quelltext.

    Code:
    //ALLE AUSKOMMENTIERTEN VERSUCHE SCHEITERN. ES GIBT KEINEN ABSTURZ ABER DER TOAST WIRD NICHT ANGEZEIGT. Im Debugmodus kann ich nicht erkennen was sich im Context befindet. 
    
    public class TabTwo extends Fragment {
        Context ctx;
    
        @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    
            Button button = (Button) getView().findViewById(R.id.button1);
            // ctx = getView().getContext();
            // ctx = getActivity().getApplicationContext()
            button.setOnClickListener(new OnClickListener() {
    
                public void onClick(View arg0) {
                    Toast.makeText(ctx, "aaa", Toast.LENGTH_LONG);
                }
            });
        }
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.tabtwo, container, false);
            // ctx = view.getContext()
            return view;
        }
    }
    
     

Diese Seite empfehlen