[Android]_ch11.5_Fragment元件1
package com.derek.ch29_fragment;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button btn1,btn2,btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn3=(Button)findViewById(R.id.button3);
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
Fragment fragment=fm.findFragmentById(R.id.framelayout);
if(fragment==null){
MyFragment myFragment=new MyFragment("國立交通大學");
ft.add(R.id.framelayout, myFragment);
ft.addToBackStack(null);
ft.commit();
btn1.setEnabled(false);
btn2.setEnabled(true);
}
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
Fragment fragment=fm.findFragmentById(R.id.framelayout);
if(fragment!=null && fragment.isDetached()){
ft.attach(fragment);
ft.addToBackStack(null);
ft.commit();
btn1.setEnabled(false);
btn2.setEnabled(true);
}
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
Fragment fragment=fm.findFragmentById(R.id.framelayout);
if(fragment!=null && !fragment.isDetached()){
ft.detach(fragment);
ft.addToBackStack(null);
ft.commit();
btn2.setEnabled(false);
btn1.setEnabled(true);
}
}
});
btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.finish();
}
});
}
}
package com.derek.ch29_fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MyFragment extends Fragment{
String title;
TextView tv;
public MyFragment(String title){
this.title=title;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.myfragment, container,false);
tv=(TextView)view.findViewById(R.id.textView1);
tv.setText(title);
return view;
}
}
沒有留言:
張貼留言