2013-11-21 71 views
-2

我在第一个活动中有两个活动我将字符串值存储在变量中我正在使用intent并转到第二个活动我想将值存储在变量中并将其传入edittext can有人帮我这个在两个活动之间使用putextra传递varibale的值

第一项活动---的onclick意图

but1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent mail = new Intent(
         "com.ideals.ideal.MAIL1"); 
       mail.putExtra("Value1", "problem was asked in stackowerflow and i am waiting for a reply"); 
       startActivity(mail); 
      } 
     }); 

次活动

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mail1); 
    sendEmail = (Button) findViewById(R.id.bSentEmail); 
    doc = (EditText) findViewById(R.id.etdoc); 

    Bundle extras = getIntent().getExtras(); 
    value1 = extras.getString("value1"); 
    doc.setText(value1); 
    abcPref = getSharedPreferences(FILE1, 0); 
    Bigboss = abcPref.getString("bigboss", ""); 
+1

变化'字符串值1 = extras.getString( “值1”);' 请提问前搜索很好。有很多问题n关于这个问题的SO上的答案 –

+0

geet仍然没有得到文本 - “在stackowerflow中问了问题,我在等待答复”---在第二个活动中 – Shweta

+0

你在哪里调用了'initializeVars( )'在你的第二个活动? – Nizam

回答

1

你的意图键值是区分大小写,因此始终确保按键您定义传递值中的值必须同我一样。

在你的价值中,你的钥匙是Value1而不是value1。写V的资本不是v

Bundle extras = getIntent().getExtras(); 
value1 = extras.getString("Value1"); 
+0

非常感谢我收到一些值,但是整个字符串被截断为只有前20个字母 – Shweta

+0

@Shweta什么意思被截断? – GrIsHu

+1

这一定是因为长文本。它必须显示,但由于edittext不能显示整个字符串。要查看整个文本,请在xml布局文件中添加属性'android:inputType =“textMultiLine”'。 @Shweta – GrIsHu

1

ü PDATE你onClick代码如下(你所创建的意图的方法是不是最好的方法):

but1.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent mail = new Intent(this, MAIL1.class); 
     mail.putExtra("Value1", "problem was asked in stackowerflow and i am waiting for a reply"); 
     startActivity(mail); 
    } 
}); 

你应该使用在putExtra使用相同的密钥:

String value1 = extras.getString("Value1"); 
doc.setText(value1); 
+0

这是给错误,因为月食说它应该是变数 – Shweta

+0

应该是什么变数? –

+0

非常感谢我获得了一些值,但整个字符串仅截取到前20个字母 – Shweta

0

意向换车键值对。给一把钥匙,你会得到相应的价值。看看下面的如:

第一个活动中:现在

Intent mail = new Intent(FirstActivity.this, SecondActivity.class);// This is the right way to call Activity inside your own Application 
       mail.putExtra("Key1", "Value1"); 
       mail.putExtra("Key2", "Value2"); 
       mail.putExtra("Key3", "Value3"); 
       startActivity(mail); 

,里面SecondActivity,

String value1 =getIntent().getStringExtra("Key1"); 
String value2 =getIntent().getStringExtra("Key2"); 
String value3 =getIntent().getStringExtra("Key3");