Bassicly我的目标是扩展活动,所以当用户按下Next他想要多少次时,我希望能够在Activity2中显示该值。
即使我进入一个新的活动,我想以某种方式保持存储在变量中的值 - 我不太确定是否可能。任何帮助将不胜感激
第一堂课
public class Activity extends Activity1 implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.Next:
if (value==0) {
value=1;
}
else if(value==1){
value=2
break;
}
case R.id.one:
Intent i1 = new Intent(this, Form.class);
startActivity(i1);
}
}
}
第二课
public class Activityv2 extends Activity1 implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button:
if(value==1){
display.setText("1");
}
else if(value==2)
{
display.setText("2");
}
}
}
}
答案 0 :(得分:2)
您可以将该值存储在公共static字段中。
修改:或者您可以将其保存在SharedPreferences中,或使用bundle
将此值传递给活动例如,你可以用这种方式保存它:
private void savePreferences(String key, String value){
SharedPreferences sharedPreferences = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
private String loadPreferences(String key, String value){
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
return settings.getString("silentMode", "");
}
答案 1 :(得分:0)
您可以通过Bundle
或Intent类中的Extra来在Activities和Fragment之间传递值。
要检索这些,请在Activity中调用getIntent()并获取Extra out of this,或者在返回的Intent上调用getExtras()以获取Bundle。在Fragment中,你可以调用getArguments()返回一个Bundle。
捆绑包非常方便,允许您在活动之间轻松传递原始数据。
另一种选择是将这些值存储在您自己的类中,该类从Application
延伸,然后您可以随时随地访问。