您的位置:首页 > 移动开发 > Android开发

android_如何优雅地给Activity和Fragement传入参数

2016-03-04 15:22 495 查看


传参给Fragment

public class MyFragment extends Fragment {

private static final String ARGS_KEY = "ARGS_KEY";
private int mKey = -1;

public static MyFragment newInstance(int type) {
Bundle args = new Bundle();
args.putInt(ARGS_KEY, type);
MyFragment fragment = new MyFragment();
fragment.setArguments(args);
return fragment;
}

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.xxx, container, false);
mKey = getArguments().getInt(ARGS_KEY);
return root;
}
}
usgage: MyFragment myFragment = MyFragment.newInstance(123);
传参给Activity

public class ActivityOne extends Activity
{
private static final String VALUE1 = "value1_param";
private static final String VALUE2 = "value2_param";

public static void startMe( Context ctx, int val1, String val2 )
{
Intent intent = new Intent( ctx, ActivityOne.class );
intent.putExtra( VALUE1, val1 );
intent.putExtra( VALUE2, val2 );
ctx.startActivity( intent );
}

private int _value1;
private String _value2;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_one );

Bundle extras = getIntent().getExtras();
if ( extras != null )
{
_value1 = extras.getInt( VALUE1 );
_value2 = extras.getString( VALUE2 );
}
}
}
usgage: ActivityOne.startMe( this, 123, "abc" );


https://github.com/cheyiliu/All-in-One/wiki/android_%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E5%9C%B0%E7%BB%99Activity%E5%92%8CFragement%E4%BC%A0%E5%85%A5%E5%8F%82%E6%95%B0#%E4%BC%A0%E5%8F%82%E7%BB%99fragment
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: