2012-02-03 10 views
6

उदाहरण के लिए, द्वारा होस्ट की गई एक सूची दृश्य में सूची एक्टिविटी, जब उपयोगकर्ता सूची में किसी आइटम पर क्लिक करता है, तो एक नई गतिविधि लॉन्च की जाएगी, और पिछली गतिविधि स्थानांतरण अतिरिक्त होगी नीचे की नई गतिविधि के लिए डेटा:गतिविधि के माध्यम से एक टुकड़े से दूसरे में एक डेटा से दूसरे डेटा को स्थानांतरित करने के लिए कैसे करें

public class Notepadv2 extends ListActivity { 
    ... 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 

     Intent i = new Intent(this, NoteEdit.class); 
     i.putExtra(NotesDbAdapter.KEY_ROWID, id); 
     startActivityForResult(i, ACTIVITY_EDIT); 
    } 
} 

अगर मैं टुकड़ों का उपयोग करता हूं तो यह कैसे होना चाहिए? मेरा मतलब है अगर मैं एक गतिविधि जो मेजबान 2 टुकड़े है, और नीचे की तरह टुकड़े लेनदेन करने:

// Create new fragment and transaction 
Fragment newFragment = new ExampleFragment(); 
FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

// Replace whatever is in the fragment_container view with this fragment, 
// and add the transaction to the back stack 
transaction.replace(R.id.fragment_container, newFragment); 
transaction.addToBackStack(null); 

// Commit the transaction 
transaction.commit(); 

कैसे मैं अतिरिक्त डेटा एक टुकड़ा से अन्य टुकड़ा के लिए मेजबान गतिविधि के माध्यम से स्थानांतरित कर सकते हैं?

मैं Android डेवलपर वेबपेज पर पता है, वहाँ कैसे टुकड़ा और कैसे गतिविधि के साथ संवाद करने का उपयोग करने का good document है, लेकिन वहाँ एक टुकड़ा से दूसरे ....

+1

[एंड्रॉइड: एक डेटा के लिए पास डेटा (एक्स्ट्रा) का संभावित डुप्लिकेट] (http://stackoverflow.com/questions/15392261/android-pass-dataextras-to-a-fragment) –

उत्तर

22

लिए डेटा स्थानांतरित करने के तरीके के बारे में कोई विवरण नहीं है

Bundle data = new Bundle(); 
data.putString("name",value); 
Fragment fragment = new nameOfFragment(); 
fragment.setArguments(data); 
.navigateTo(fragment); 
+0

क्या आपका मतलब है कि मैं नहीं करता खंड में इंटरफ़ेस को परिभाषित करने की आवश्यकता है और मेजबान गतिविधि को इंटरफ़ेस को कार्यान्वित करने दें जो खंड और मेजबान एविविटी के बीच संचार स्थापित करता है ... इसके बजाय, मैं आपके कोड का उपयोग सीधे अगले खंड पर नेविगेट करने के लिए कर सकता हूं? –

+0

हाँ आप इसका उपयोग सीधे कर सकते हैं .... –

+0

@its खाली नहीं है क्या आप कृपया अधिक प्रकाश डालें। NavigateTo (खंड); एंड्रॉइड स्टूडियो इस – archon92

1

का उपयोग गतिविधि से आप के रूप में के इरादे से डेटा भेजने:

Bundle bundle = new Bundle(); 
bundle.putString("key", "value"); 
// set Fragmentclass Arguments 
Fragmentclass fragmentobj = new Fragmentclass(); 
fragmentobj.setArguments(bundle); 

और टुकड़ा onCreateView विधि में:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    String strtext = getArguments().getString("key");  
    return inflater.inflate(R.layout.fragment, container, false); 
} 

मुझे आशा है कि यह आपके लिए पूर्ण सहायता होगी।

संबंधित मुद्दे