我正在开发我的第一个 Android 应用程序,我在编码时意识到我没有从意图中的另一个活动发送的包中接收到值。我能够隔离代码,但我只是不明白为什么我没有收到它的值。
public class Registration extends Activity {
EditText edit1;
EditText edit2;
EditText edit3;
EditText edit4;
JSONParser jsonParser = new JSONParser();
public static String url_data="";
private static final String TAG_SUCCESS = "operation";
public final static String user="com.example.try1.MESSAGE";
public final static String pass="com.example.try1.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
setContentView(R.layout.activity_registration);
edit1= (EditText) findViewById(R.id.nameuser);
edit2= (EditText) findViewById(R.id.email);
edit3= (EditText) findViewById(R.id.username);
edit4= (EditText) findViewById(R.id.password);
Button btnRegister= (Button) findViewById(R.id.new_user);
btnRegister.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
//new CreateNewProduct().execute();
String message1= edit1.getText().toString();
String message2= edit2.getText().toString();
String message3= edit3.getText().toString();
String message4= edit4.getText().toString();
Intent i = new Intent(Registration.this, Login.class);
Bundle extras=new Bundle();
Log.d("username", message3);
extras.putString(user, message3);
extras.putString(pass, message4);
i.putExtras(extras);
startActivity(i);
finish();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.registration, menu);
return true;
}
}
这是注册的代码。现在这是Login.class的代码
public class Login extends Activity {
JSONParser jsnParser = new JSONParser();
public static String url_login="http://www.reflap.com/account/reflap_login";
private static final String TAG_SUCCESS = "operation";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_login);
//Intent it =getIntent();
Bundle extras=this.getIntent().getExtras();
String message=extras.getString("user");
String message2=extras.getString("pass");
//Log.d("username", message);
if(message==null){
Log.d("username", "empty value");
}
//Create the text view
TextView text = new TextView(this);
text.setTextSize(40);
text.setText(message);
setContentView(text);
//new Loggerin().execute();
}
log.d
写入空值,因为 message1与message2null
相同。该视图也没有任何内容。如果我替换这个
String message=extras.getString("user");
String message2=extras.getString("pass");
有了这个
String message=extras.getString(Registration.user);
String message2=extras.getString(Registration.pass);
我只收到最后一个值集。我只是想使用包来发送我想在登录类中使用的两个字符串。