2013-04-22 66 views
0

我试图用温度转换生成一个值,然后将该值转换为另一个活动中的空白文本框,但代码似乎不工作。这里有两个部分 - 一个是来自哪里,它需要去一个...在Android中的活动之间传递值无法正常工作

public class MainActivity extends Activity { 
    private EditText text; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
     text = (EditText)findViewById(R.id.MainActivityText); 

     final EditText et = (EditText) findViewById(R.id.MainActivityText); 
     Button b = (Button) findViewById(R.id.Button01); 
     b.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Intent myIntent = new Intent(view.getContext(), SecondScreen.class); 
       startActivityForResult(myIntent, 0); 

     Intent intent=new Intent(MainActivity.this, SecondScreen.class); 
     intent.putExtra("value", et.getText().toString()); 
     startActivity(intent); 
      } 
     }); 
     } 


     @SuppressLint("NewApi") 
    public class SecondScreen extends Activity { 

     /** Called when the activity is first created. */ 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.secondscreen); 

     TextView nameView=(TextView) findViewById(R.id.SecondScreenText); 
     nameView.setText(getIntent().getExtras().getString("Value")); 

     Button next = (Button) findViewById(R.id.Button02); 
     next.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Intent intent = new Intent(); 
       setResult(RESULT_OK, intent); 
       finish(); 
      } 


      }); 
     }} 

回答

4

有符合一个错字:

nameView.setText(getIntent().getExtras().getString("Value")); 

变化Valuevalue

+0

并检查是否Bundle bundle = getIntent()。getExtras();'不是null和'containsKey(“value”);' - 只是为了避免麻烦;) – Trinimon 2013-04-22 20:06:49

+0

干杯!很好的帮助 – user2307582 2013-04-22 20:40:24

+0

如果它解决了你的问题,你应该将答案标记为接受。 – wangyif2 2013-04-22 20:42:31