RedirectMainpublic class RedirectMain extends android.app.Activity Entry into our redirection example, describing what will happen. |
Fields Summary |
---|
static final int | INIT_TEXT_REQUEST | static final int | NEW_TEXT_REQUEST | private android.view.View.OnClickListener | mClearListener | private android.view.View.OnClickListener | mNewListener | private String | mTextPref |
Methods Summary |
---|
private final boolean | loadPrefs()
// Retrieve the current redirect values.
// NOTE: because this preference is shared between multiple
// activities, you must be careful about when you read or write
// it in order to keep from stepping on yourself.
SharedPreferences preferences = getSharedPreferences("RedirectData", 0);
mTextPref = preferences.getString("text", null);
if (mTextPref != null) {
TextView text = (TextView)findViewById(R.id.text);
text.setText(mTextPref);
return true;
}
return false;
| protected void | onActivityResult(int requestCode, int resultCode, java.lang.String data, android.os.Bundle extras)
if (requestCode == INIT_TEXT_REQUEST) {
// If the request was cancelled, then we are cancelled as well.
if (resultCode == RESULT_CANCELED) {
finish();
// Otherwise, there now should be text... reload the prefs,
// and show our UI. (Optionally we could verify that the text
// is now set and exit if it isn't.)
} else {
loadPrefs();
}
} else if (requestCode == NEW_TEXT_REQUEST) {
// In this case we are just changing the text, so if it was
// cancelled then we can leave things as-is.
if (resultCode != RESULT_CANCELED) {
loadPrefs();
}
}
| protected void | onCreate(android.os.Bundle icicle)
super.onCreate(icicle);
setContentView(R.layout.redirect_main);
// Watch for button clicks.
Button clearButton = (Button)findViewById(R.id.clear);
clearButton.setOnClickListener(mClearListener);
Button newButton = (Button)findViewById(R.id.newView);
newButton.setOnClickListener(mNewListener);
// Retrieve the current text preference. If there is no text
// preference set, we need to get it from the user by invoking the
// activity that retrieves it. To do this cleanly, we will
// temporarily hide our own activity so it is not displayed until the
// result is returned.
if (!loadPrefs()) {
Intent intent = new Intent(this, RedirectGetter.class);
startSubActivity(intent, INIT_TEXT_REQUEST);
}
|
|