// 首先需要创建启动的Activity对应的Intent Intent intent = new Intent(MainActivity.this, TwoActivity.class); // 启动Activity startActivity(Intent intent); startActivityForResult(Intent intent, int requestCode); // requestCode:请求码 //startActivityForResult方法以指定的请求码启动Activity,并通过重写onActivityResult方法获取返回的结果。 // 关闭Activity finish(); finishActivity(int requestCode); // finishActivity方法结束以startActivityForResult方法启动的Activity。
public class MainActivity extends Activity {
Button bn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取界面上的组件
...
// 绑定事件监听器
bn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, TwoActivity.class);
startActivityForResult(intent, 0); // 0是请求码,用于标识该请求
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
// 处理特定的结果
if (requestCode == 0 && resultCode == 0) {
// 取出Intent里的Extras数据
Bundle data = intent.getExtras();
// 取出Bundle中的数据
String result = data.getString("test");
Toast.makeText(getApplicationContext(), result, 0).show();
}
}
}
// 获取启动该Activity之前的Activity对应的Intent
Intent intent = getIntent();
intent.putExtra("test", "test");
// 设置该SelectActivity的结果码,并设置结束之后退回的Activity
SelectCityActivity.this.setResult(0, intent);
// 结束TwoActivity
TwoActivity.this.finish();
intent.putExtras(Bundle data); // 向Intent放入数据包 intent.putExtras(String name, Xxx value); // 向Intent中按key-value对的形式放入数据 intent.getExtras(); // 取出Intent中携带的数据包 intent.getXxxExtras(String name); //从Intent中按key取出指定类型的数据
Bundle bundle = new Bundle(); // 首先创建一个Bundle对象 bundle.putXxx(String key, Xxx data); // 向Bundle中放入数据 bundle.putSerializable(String key, Serializable data); // 向Bundle中放入一个可序列化的对象(即实现了java.io.Serializable接口) bundle.getXxx(String key); // 从Bundle中取出数据 bundle.getSerializable(String key); // 从Bundle中取出一个可序列化的对象
// 重写该方法,该方法返回的View将作为Fragment显示的组件
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// 加载/res/layout/目录下的fragment.xml布局文件
View view = inflater.inflate(R.layout.fragment, container, false);
TextView name = (TextView)view.findViewById(R.id.name));
...
return view;
}
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_my, container, false);
}
}
public class TwoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_two, container, false);
}
}
// 设置默认的Fragment FragmentManager fm = getFragmentManager(); FragmentTransaction transaction = fm.beginTransaction(); myFragment = new MyFragment(); transaction.replace(R.id.fl, myFragment); transaction.commit();
@Override
public void onClick(View v) {
FragmentManager fm = getFragmentManager();
// 开启Fragment事务
FragmentTransaction transaction = fm.beginTransaction();
twoFragment = new TwoFragment();
// 使用当前Fragment的布局替代fl的控件
transaction.replace(R.id.fl, twoFragment);
// transaction.addToBackStack(); // 将事物添加到back栈,允许用户按BACK按键返回到替换Fragment之前的状态
// 事务提交
transaction.commit();
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有