2016-07-05 9 views
-2

Ich rufe ein Fragment aus einer Java-Klasse an, beim Klicken auf eine Textansicht rufe ich ein Fragment an, das ist mein Code von onclick.Wie man Fragment von einer Java-Klasse in Android anruft?

returnTheProduct.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       FragmentManager fragmentManager = context.getFragmentManager(); 
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
       ProductReturnFragment productReturnFragment = new ProductReturnFragment(); 
       fragmentTransaction.replace(R.id.layout_marketplace_forms, new MarketPlaceFormsActivity()); 
       fragmentTransaction.addToBackStack(null); 
       fragmentTransaction.commit(); 
      } 
      }); 
+1

Mögliches Duplikat [wie kann ich Fragment von Aktivität in android nennen] (http://stackoverflow.com/questions/22069865/how-can-i -Aufruf-von-Aktivität-in-Android- – karan

Antwort

0
From class call Activity on which you are calling fragments like below code. 

Intent intent = new Intent(context, CallingActivity.class); 

     intent.putExtra("key", "value"); 
      context.startActivity(returnFormIntent); 

In your CallingActivity define below code. 
private FragmentManager fragmentManager = getSupportFragmentManager(); 
private YourFragment yourFragment; 

if (getIntent().hasExtra("key")) { 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     yourFragment = new YourFragment(); 
     fragmentTransaction.add(R.id.layout_your_fragment, yourFragment); 
     fragmentTransaction.commit(); 

    } 

like above we can call fragments from other nonActivity classes. 
0

Importieren Sie einfach die beiden folgenden Aussagen:

import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 

Und

private FragmentTransaction mFragmentTransaction; 
private FragmentManager mFragmentManager; 
..... 

Dann auf Ihrem Klick-Listener Sie unter Code schreiben:

mFragmentManager = getSupportFragmentManager(); 
mFragmentTransaction = mFragmentManager.beginTransaction(); 
mFragmentTransaction.replace(R.id.layout_marketplace_forms, new ProductReturnFragment()); 
mFragmentTransaction.commit(); 

Hope you Bekomme deine Antwort. : D

0

hinzufügen:

FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    if (isBackPressed) 
     fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.replace(R.id.framelayout,attachedfragmentHere); 
    fragmentTransaction.setCustomAnimations(R.anim.fade_in,R.anim.fade_out); 
    fragmentTransaction.commit(); 
Verwandte Themen