लौटता है मैंने एक नज़र डाली है और इसी तरह के विषय के साथ कुछ प्रश्न मिलते हैं, लेकिन मेरे मामले में कुछ भी मदद नहीं करता है। मैं getSupportFragmentManager() का उपयोग कर मौजूदा सक्रिय खंड तक पहुंचने का प्रयास कर रहा हूं। FindFragmentByTag (TAG), लेकिन यह हमेशा शून्य देता है। समान प्रश्नों के उत्तरों ने सुझाव दिया कि प्रतिबद्धता को निष्पादित करने में कुछ समय लगता है, इसलिए कॉलिंग ढूंढना फ्रेगमेंटबेटाग बहुत जल्दी बुलाए जाने पर शून्य वापस आ जाएगा।एंड्रॉइड टुकड़े - findFragmentByTag हमेशा शून्य
- getSupportFragmentManager जोड़ने() executePendingTransactions()
तुरंत बाद प्रतिबद्ध है, लेकिन अभी अशक्त मिलती है: मैं दो बातें की कोशिश की है।। - ने एक बटन जोड़ा ... गतिविधि के निर्माण के बाद इसे दबाकर पंजीकृत टुकड़ा और प्रदर्शित दृश्य सिस्टम को प्रतिबद्ध करने के लिए पर्याप्त समय छोड़ देना चाहिए। लेकिन मुझे अभी भी शून्य मिल गया है।
यहाँ मेरी गतिविधि है:
public class MainActivity extends ActionBarActivity {
private static final String F_SETTINGS = "f_settings";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
debug();
}
});
if (savedInstanceState == null) {
FSettings newFragment = new FSettings();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container, newFragment);
ft.addToBackStack(F_SETTINGS);
ft.commit();
// getSupportFragmentManager().executePendingTransactions();
//// Activating this did not make any difference...
}
debug();
}
private void debug() {
String txt = "null";
Fragment frag = getSupportFragmentManager().findFragmentByTag(F_SETTINGS);
if (frag != null) {
txt = frag.toString();
}
Log.i("Testing", txt);
}
}
क्या मैं गलत यहाँ कर रहा हूँ? चीयर्स, मैक्स
क्या आप निश्चित रूप से सहेजे गए हैंस्टेंसस्टेट शून्य है? – njzk2
ft.addToBackStack (F_SETTINGS); <--- यह आपके टुकड़े टैग नहीं करता है। – bofredo