Comment gérer une intention qui n'a pas de données au premier appel d'une activité?

J'ai deux activités; Maison est ma première activité et Paramètres est ma deuxième activité.

Les Paramètres de l'activité est appelée à partir du menu de la Maison de l'activité, et renvoie les données à la maison de l'activité par le biais de l'intention.

Mais la première fois quand je lance l'application android, le but sera vide car la deuxième activité n'est pas encore appelé, donc je obtenir exception (Java exception de pointeur null).

Quelqu'un peut-il m'aider à gérer cette solution?

MODIFIER: Code

Première Activité:

public class LoginActivity extends Activity {
public static final int SETTINGS_ID = 1;
Intent intn;
EditText edt1;
EditText edt2;
String user, pass;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
intn= new Intent(this,SettingsActivity.class);
}
private class HttpConnectionRequest extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void...params) {
//TODO Auto-generated method stub
//Code not included
}
return null;
}
}
public void login(View V){
edt1 = (EditText) this.findViewById(R.id.editText1);
edt2 = (EditText) this.findViewById(R.id.editText2);
user = edt1.getText().toString();
pass = edt2.getText().toString();
System.out.println("Username-->" + user);
System.out.println("Password-->" + pass);
String url="";
url = getIntent().getExtras().getString("serverurl");
System.out.println("url----->"+url);
if(((null==user) || ("".equals(user))) && ((null==pass) || ("".equals(pass)) )){
Toast.makeText(getApplicationContext(), "Please provide username and password", Toast.LENGTH_SHORT).show();  
}
else if((null==user) || ("".equals(user))){
Toast.makeText(getApplicationContext(), "Please provide username", Toast.LENGTH_SHORT).show();  
}
else if ((null==pass) || ("".equals(pass))){
Toast.makeText(getApplicationContext(), "Please provide password", Toast.LENGTH_SHORT).show();  
}
if ((null==url) || ("".equals(url))) {
Toast.makeText(getApplicationContext(), "Please provide the Server url Settings->Server URL->Save", Toast.LENGTH_SHORT).show();  
}
HttpConnectionRequest conn= new HttpConnectionRequest();
conn.execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, SETTINGS_ID, 0, "Settings");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case SETTINGS_ID:
//this.finish();
this.startActivity(intn);
System.out.println("This Invoked . . .");
break;
}
return false;
}
}

Deuxième activité

public class SettingsActivity extends Activity {
EditText edt1;
Intent intn;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
intn = new Intent (this,LoginActivity.class);
}
public void save(View v){
edt1= (EditText) this.findViewById(R.id.serverurl);
String url = edt1.getText().toString();
intn.putExtra("serverurl",url);
startActivity(intn);        
}
}

source d'informationauteur DroidGirl