मैं अपनी गतिविधि में दो टुकड़ों का उपयोग कर रहा हूं। शुरुआत में मैं गतिविधि में एक टुकड़ा जोड़ूंगा। फिर पहले खंड में श्रोता का उपयोग करके मैं इसे दूसरे टुकड़े से बदलना चाहता हूं। मैंने अपनी समझ के अनुसार कोशिश की, लेकिन यह प्रतिस्थापित नहीं है। यह दोनों खंडों को ओवरलैप दिखा रहा है।पहले खंड में श्रोता का उपयोग करके एक टुकड़े को एक और टुकड़े से कैसे बदलें
Here is my code:
// MainActivity
public class MainActivity extends Activity {
Fragment Fragment_one;
Button one;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//one=(Button) findViewById(R.id.button1);
//one.setOnClickListener(new View.OnClickListener() {
//@Override
//public void onClick(View arg0) {
// TODO Auto-generated method stub
FragmentManager man=getFragmentManager();
FragmentTransaction tran=man.beginTransaction();
Fragment_one=new Fragment1();
tran.add(R.id.fragment_container, Fragment_one);//tran.
tran.addToBackStack(null);
tran.commit();
//}
//});
}
}
//fragment code
public class Fragment1 extends Fragment{
Button add;
Fragment2 fragment_two;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
//return super.onCreateView(inflater, container, savedInstanceState);
View view=inflater.inflate(R.layout.fragment_1, container,false);
add=(Button) view.findViewById(R.id.button1);
fragment_two =new Fragment2();
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
FragmentTransaction t=getActivity().getFragmentManager().beginTransaction();
t.remove(new Fragment1());
t.replace(R.id.fragment1, fragment_two);t.addToBackStack(null);
t.commit();
//t.addToBackStack(null);
}
});
return view;
}
}
क्यों दोनों टुकड़े को फुलाएं और अपनी श्रोता को अपनी दृश्यता को टॉगल करने के लिए क्यों न करें? – brbaker
क्या आप मेरी मदद कर सकते हैं टॉगल कैसे करें? @brbaker –
1) आपके खंड 2 एक्सएमएल में, दृश्यता सेट करें; 2) खंड 1 बटन दबाएं, findViewById ()। सेट दृश्यता (android.view.View.GONE) और findViewById ()। सेट दृश्यता (android.view.View.VISIBLE –
brbaker