为什么我在使用包的片段中获取空值

时间:2019-05-17 10:00:25

标签: java android android-fragments

我正在使用捆绑软件在str.trim(); <form class="rafform" method="post"> <input type="hidden" name="editfile" value="<?php echo $dir . '/' . $file; ?>" /> <textarea name="editcontent"><?php readfile($dir . '/' . $file); // read content of example.txt ?></textarea> <input type="submit" class="submitmodal edit btn btn-edit " value="Update" /> </form> if( isset($_POST['editcontent']) ){ $fn = trim($_POST['editfile']); $content = stripslashes($_POST['editcontent']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); echo 'Content edited!'; } 之间进行数据传输,发件人部分还可以 但是在收到时,我在捆绑包中获得了fragment的价值。

我已经尝试了所有方法,但没有发现任何错误,但仍然没有得到 我已经尝试了所有可能的解决方案。请让我知道我在这里犯错了。

首先,我要发送对象类型数据和int类型数据。

FirsrtFragment.java

null

这是我的SecondFragment.java

       lay_upcoming.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            bundle = new Bundle();
            eventFragment = new EventFragment();
            bundle.putInt("img_id", img_id2);
            eventFragment.setArguments(bundle);

            getFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_in_up, R.anim.slide_out_up).addToBackStack(null).replace(R.id.fragment_container, new EventFragment()).commit();
        }
    });

2 个答案:

答案 0 :(得分:0)

您需要将片段放在设置捆绑包的位置。但是您正在使用新的片段。更改代码如下

lay_upcoming.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        bundle = new Bundle();
        eventFragment = new EventFragment();
        bundle.putSerializable("Data", (Serializable) data2);
        Log.i("DAta", String.valueOf(img_id2));
        Log.i("DAta", String.valueOf(img_id2));
        bundle.putInt("img_id", img_id2);
        eventFragment.setArguments(bungetFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_in_up, R.anim.slide_out_up).addToBackStack(null).replace(R.id.fragment_container, eventFragment).commit(); // change new EventFragment() to eventFragment
    }
});

答案 1 :(得分:0)

您正在创建一个新的片段,而不是已经创建并传递参数的片段:replace(R.id.fragment_container, new EventFragment())

只需使用您已经创建的eventFragmentreplace(R.id.fragment_container, eventFragment)