如何将String和Image值传递给我的其他片段?

时间:2017-03-17 08:54:35

标签: android android-fragments android-activity android-fragmentactivity

我想将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();
            }
        });

我希望你们能帮我解决问题。

2 个答案:

答案 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
     }
}