多くのアクティビティで多くの変更が必要な場合は、いずれかを変更します。
また、すべてのアクティビティから最終変更データにアクセスし、変更も行います。
例えば。
定数.java
public class Constants
{
public static String name;
}
MainActivityにはeditTextがあります。
MainActivity.java
public class MainActivity extends Activity {
private EditText yourName;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yourName = (EditText) findViewById(R.id.yourName);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Constants.name = yourname.getText().toString();
Intent intent = new Intent(getApplicationContext(),Activity2.class);
startActivity(intent);
}
});
}
Activity2にはTextViewがあり、Intent を渡さずにMainActivity.javaに入力した値を取得します。
Activity2.java
public class Activity2 extends Activity {
private TextView yourName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yourName = (TextView) findViewById(R.id.tv_yourName);
// directly use ferom serializable class
yourname.setText(Constants.name);
}
すべてのアクティビティから多くの値を使用し、すべてのアクティビティから変更するようにします。