在我的应用程序中,Main_Activity包含四个片段。在一个片段(称为mobile_fragment)中,每当我单击片段中的按钮时,它将移动到另一个活动,因为我需要获取一个值并需要将该数据发送到该片段(mobile_fragment)。
我做的是: 每当我点击片段中的按钮我移动到activity并获取值并将该值发送到main_Activity之后,在移动片段中我访问该变量(main_activity中的变量的静态声明)。
现在我的问题是在获取mobile_fragment中的值后,我已经在剩余的编辑文本中输入了值,小部件被清除(没有文本)。我如何获得以前输入的值? 请任何人帮助我。
fragment
public class Mobile_Fragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// TODO Auto-generated method stub
if (container == null) {
return null;
}
browseplans.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), BrowsePlans_Activity.class);
startActivity(intent);
}}
BrowseplansActivty:
Intent intent=new Intent(BrowsePlans_Activity.this,MainActivity.class);
intent.putExtra("Amount",amount);
startActivity(intent);
Main_Activity:
public class MainActivity extends FragmentActivity implements OnClickListener {
public static String TAG = "Main First Frag";
public static String contact_number, prepaid_amt;
Fragment fragment;
FragmentManager frgManager;
FragmentTransaction ft;
Bundle b = new Bundle();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initUI();
bindEvents();// now this is my changed one
Intent in=getIntent();
prepaid_amt=in.getStringExtra("Amount");
Log.v("TAG+AMOUNT",""+prepaid_amt);
}
}
答案 0 :(得分:0)
要将您的片段中的数据传递给您正在开始的活动,请将其传递给Intent Extras。
要将活动中的数据返回到片段,请使用结果代码和意图调用setResult
,该意图再次保存带有附加内容的数据集。在片段的onActivityResult
覆盖中检索该数据。
要在分离并重新附加片段时将信息保存在片段中,请使用覆盖onSaveInstanceState,然后在onCreate
和/或onCreateView
覆盖中从该状态中提取数据。