我想将String和Image值传递给另一个Fragment。
这是我的价值(这些价值来自我的片段之家)
private GridView grid;
String[] nama_barang_rek = {
"Batu Bata",
"Semen Holcim",
"Cat Avitex",
"Toilet Duduk TOTO"};
int[] gambar_barang_rek = {
R.drawable.batu_bata,
R.drawable.semen_holcim,
R.drawable.cat_avitex,
R.drawable.closet_duduk_toto};
这些是我的GridView的代码,我想将这些值传递给我的CheckOutActivity
grid = (GridView) rootview.findViewById(R.id.gv_rekomendasi);
grid.setAdapter(new CustomGrid(getActivity(), nama_barang_rek, gambar_barang_rek));
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), nama_barang_rek[position], Toast.LENGTH_SHORT).show();
}
});
我希望你们能帮我解决问题。
答案 0 :(得分:1)
如果要将值从活动传递到片段,请使用onItemclick
中的Toast消息之前的代码FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
YourFragment mFragment = new YourFragment();
Bundle bundle = new Bundle();
bundle.putString("strValue", nama_barang_rek[position]);
bundle.putInt("intValue",gambar_barang_rek[position]);
mFragment.setArguments(bundle);
ft.replace(R.id.content_frame, mFragment);
其中R.id.content_frame是xml文件中的framelayout 如果要将值从活动传递到活动,请使用onItemclick
中的Toast消息之前的代码Intent i=new Intent(firstActivity.this,secondActivity.class);
i.putString("strValue", nama_barang_rek[position]);
i.putInt("intValue",gambar_barang_rek[position]);
startActivity(i);
答案 1 :(得分:1)
发送方
Fragment frag = new Fragment();
Bundle data = new Bundle();
data.putSting("key_name", value);
data.putInt("key_name", value);
frag.setArguments(data);
getSupportFragmentManager().beginTransaction()
.replace(R.id.holder, frag).Commit();
接收方
onCreateView() {
Bundle data = getArguments():
If (data != null){
// read here
}
}