Voglio avviare un nuovo frammento per visualizzare alcuni dati. Al momento, ho un'attività principale che ha una serie di schede della barra delle azioni, ognuna delle quali è un frammento. Quindi, all'interno di un frammento di tabulazione, ho un pulsante, chartsButton. Ho il mio onclicklistener tutto pronto per esso, ed ecco il metodo onClick:Avviare un frammento tramite Intent all'interno di un frammento
public OnClickListener chartsListener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent chartFragment = new Intent();
startActivity(chartFragment);
}
};
Ora, come ho detto, questo è ascoltatore all'interno di una classe che estende Fragment. Quindi, voglio lanciare un nuovo frammento (chartsFragment) tramite l'intento di sostituire l'intero schermo. Quando l'utente fa clic, li riporta alle schede e all'attività principale. Ecco il mio frammento grafico:
public class chartsFragment extends Fragment {
public View onCreateView() {
//LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return (inflater.inflate(R.layout.chartfragment, null));
}
}
L'errore corrente ho a che fare con: "android.content.ActivityNotFoundException: trovate attività per gestire Intent {}". Va bene, ho capito che potrei usare getActivity(). StartActivity (chartsFragment), ma che ha lo stesso errore. Suppongo che cosa sto cercando qui, è come faccio a lanciare un intento all'interno di un frammento che si traduce nell'apertura di un nuovo frammento?
Questo ha funzionato perfettamente. Ho appena creato una nuova classe chiamata Chart, se ha esteso Activity, l'ha inserita nel Manifest e ha caricato il layout xml che avevo inteso per un frammento. La funzionalità posteriore funziona come volevo anch'io. Grazie mille! – Davek804
@ Davek804 puoi aggiornare il codice con la soluzione per favore –
@ Davek804 Puoi spiegarlo con schema o codice ?? – DroidLearner