2016-03-05 19 views
0

我已经存储了第一个屏幕的值,并传递了该值并在第二个屏幕的编辑文本中设置了该值。当我回到第一个屏幕并更改值并再次传递到第二个屏幕并在编辑文本中设置该值时。在这里,它显示以前的值只是不能代替该值。如何替换android中的编辑文本值?

EditText mobilenumber = (EditText) rootView.findViewById(R.id.mobilenumber); 
mobilenumber.setText(mobile); 

上述移动是可变的,我从第一屏幕存储的值,并把它传递给第二屏幕以设置在移动电话号码编辑文本值。

+0

这里显示编辑文本的第二个屏幕是不可编辑的 –

+0

如何设置值..提供您的代码。 – ELITE

+0

mobile是一个变量,mobilenumber是edittext mobilenumber.setText(mobile); –

回答

1

1)如果您正在使用活动(第一屏幕和第二屏幕)。您可以使用意向发送价值。

intent.putExtra("mobile",mobile); 

和使用

getIntent().getExtras().getString("mobile","defaultvalue"); 

OR

2)使移动如全局和静态变量在第一活动 和在第二活性(画面)

访问它在第二屏幕在onResume()

setText(firstactivity.mobile); 
+0

第一屏幕和第二屏幕都是片段。 –

+0

静态变量很有趣,因为它们在进程死亡时被清除为'null' – EpicPandaForce

+0

使您的全局变量处于活动状态,并在第二个屏幕过载onResume方法并访问它。正如EpicPandaForce所说,如果你正在使用很多静态变量,某个点上的任何变量清零 –

0

至于你说两个屏幕是片段可以在活动共享全局变量(如果相同的活性的两个片段的部分)或

可以通过在束传递值进行通信将是最安全和 可靠的方式

+0

我如何设置片段中的值? –

+0

如果你通过全局变量实现这个,那很简单。您可以阅读并更新该变量。 – UMESH0492

+0

mobilenumber.setText(Firscreen.mobile); –

0

使用Bundle

从您的第一项活动:

public void onCreate(Bundle b){ 
    super.onCreate(b); 
    String number = "" + R.id.IDInYourFirstActivity; 
    b.putString("mobilenumber", number); 
} 

在你的下一个活动

public void onCreate(Bundle bd){ 
    super.onCreate(bd); 
    String mobileNo = bd.getString("mobilenumber"); 

    EditText mobilenumber = (EditText) rootView.findViewById(R.id.mobilenumber); 
    mobilenumber.setText(mobileNo); 
} 
0

您可以使用第二个屏幕的静态变量。然后在第一个屏幕当你改变数值,然后

Second.mobile=your value. 

它会相应地改变值。

+0

在第二个片段字段中设置静态EditText移动编号并从第一个片段中设置值。像第二个fragment.mobilenumber.setText()。它给了NULLPOINTEREXCEPTION –

相关问题