Come andare al frammento dall'attività

Sto utilizzando ActionBarSherlock, non sono in grado di andare in class che estende SherlockFragment dall'attività

Devo passare da attività a classi di frammento

  • Come submit i dati da un frammento a un altro frammento?
  • Android onFling non risponde
  • Accesso frammento dall'adattatore
  • L'applicazione installata è di terze parti o less
  • Vista a discesa personalizzata della barra di azione di Android, sul clic dell'articolo
  • Peso RelativeLayout
  • Ecco la mia class Attività

    Intent notificationIntent = new Intent(context,MessagesFragment.class); 

    E la class Fragment è simile

     public class MessagesFragment extends SherlockFragment implements OnItemClickListener { // Layout parameters declaration private PullToRefreshListView lv_messages; private ImageView iv_no_data; private LinearLayout ll_bg; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getSherlockActivity().getSupportActionBar().setDisplayOptions( ActionBar.DISPLAY_SHOW_CUSTOM); getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled( true); getSherlockActivity().getSupportActionBar().setHomeButtonEnabled(true); getSherlockActivity().getSupportActionBar().setDisplayShowHomeEnabled( true); getSherlockActivity().getSupportActionBar().setCustomView( R.layout.header); getSherlockActivity().getSupportActionBar().setBackgroundDrawable( new ColorDrawable(Color.parseColor("#009fe3"))); TextView txt = (TextView) getActivity().findViewById( R.id.tv_title_header); Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "georgia.ttf"); txt.setText("MESSAGES"); txt.setTypeface(font); return inflater.inflate(R.layout.listview_refreshable, null); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } . . . . } 

    Se utilizzi il metodo di switchfragment , mostra un sacco di errori in FragmentChangeActivity

     private void switchFragment(Fragment fragment) { if (getActivity() == null) return; if (getActivity() instanceof FragmentChangeActivity) { FragmentChangeActivity fca = (FragmentChangeActivity) getActivity(); fca.switchContent(fragment); } } 

    4 Solutions collect form web for “Come andare al frammento dall'attività”

    È necessario creare una class che estende FragmentActivity e inizia il tuo frammento

     public class MessagesFragmentActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null){ getSupportFragmentManager().beginTransaction() .add(android.R.id.content, new MessagesFragment ()).commit();} } } 

    Il tuo constructor di frammenti.

     public YourFragment() { } 

    poi da voi chiamando l'attività, inizia la tua attività di frammento nel modo normale

     Intent i = new Intent(YourActivity.this,MessagesFragment.class); startActivity(i); 

    Utilizza FragmentTransaction per accedere a qualsiasi frammento che desideri. Se si dispone di più frammenti, questo metodo passerà tra di essi.

    Ecco la direzione:

     public enum FragmentsAvailable { HISTORY } public class MyActivity extends FragmentActivity ... private void changeFragment(Fragment newFragment, FragmentsAvailable newFragmentType, boolean withoutAnimation) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); try { getSupportFragmentManager().popBackStackImmediate(newFragmentType.toString(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } catch (java.lang.IllegalStateException e) { } transaction.addToBackStack(newFragmentType.toString()); transaction.replace(R.id.fragmentContainer, newFragment); transaction.commitAllowingStateLoss(); getSupportFragmentManager().executePendingTransactions(); } 

    Non puoi farlo. Poiché each frammento è stato contenuto in un'attività, è sufficiente passare ad un'attività che contiene quel frammento.

    Un frammento è collegato ad un'attività, è ansible aggiungere un frammento o sostituire un frammento con FragmentTransition. Si noti che un frammento ha bisogno di un'attività esistente!

    Non si va dall'attività al frammento … Ma se sei in un'attività che contiene un frammento puoi aprire una nuova attività in cima al primo.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.