Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何清除反压上的碎片中的文本字段?_Java_Android_Android Fragments - Fatal编程技术网

Java 如何清除反压上的碎片中的文本字段?

Java 如何清除反压上的碎片中的文本字段?,java,android,android-fragments,Java,Android,Android Fragments,我面临的问题是清除片段中的文本视图。当我在片段A中将文本设置为textview,然后单击submit按钮移动下一个片段B。之后,当我在片段B中返回时,返回到上一个片段B。在片段A中,textview文本未清除如何在textview中清除文本。请帮我解决这个问题 下面的代码用于将片段A替换为B Bundle args = new Bundle(); args.putString("fromDate",fromDate); args.putString("toDate",toDate); args.

我面临的问题是清除片段中的文本视图。当我在片段A中将文本设置为textview,然后单击submit按钮移动下一个片段B。之后,当我在片段B中返回时,返回到上一个片段B。在片段A中,textview文本未清除如何在textview中清除文本。请帮我解决这个问题

下面的代码用于将片段A替换为B

Bundle args = new Bundle();
args.putString("fromDate",fromDate);
args.putString("toDate",toDate);
args.putInt("account",accountPosition);
//     ldf.setArguments(args);

//Inflate the fragment
getFragmentManager().beginTransaction().add(R.id.fragment_container, ldf).commit();
getFragmentManager().popBackStack(Fragment_Retailer_Home_Main.class.getSimpleName(),
FragmentManager.POP_BACK_STACK_INCLUSIVE);


Fragment_Retailer_account_Statements fragment = new  Fragment_Retailer_account_Statements();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getFragmentManager().beginTransaction();
fragment.setArguments(args);
fragmentTransaction.replace(R.id.fragment_container, fragment,"Fragment_Retailer_account_Statement");
//         fragmentTransaction.addToBackStack(Fragment_Retail_Enter_Date.class.getSimpleName() );
fragmentTransaction.commit();

可以考虑不将片段添加到堆栈中,并在按下后重新创建一个新的片段。


您可以在活动中添加一个标志,并在要清除的片段中检查OnResume内的标志。

片段a:

getFragmentManager().beginTransaction()
                    .replace(R.id.frag, Fragment B)
                    .addToBackStack(null)
                    .commit();
getFragmentManager().popBackStack();
来自片段B(背压):

getFragmentManager().beginTransaction()
                    .replace(R.id.frag, Fragment B)
                    .addToBackStack(null)
                    .commit();
getFragmentManager().popBackStack();
使用
onResume()
方法

@Override
public void onResume() {
    super.onResume();

    /*code to set text to null 
      eg : txtBoxName.setText(""); or
           txtBoxName.clearComposingText(); */

 }
}

我的项目中有多个片段。如何实现您的方法您尝试过getFragmentManager().beginTransaction().replace(R.id.fragment_容器,ldf.commit();在从一个屏幕移动到另一个屏幕时,只需清除onPause()回调上的文本即可