不正确理解扩展类

时间:2012-03-19 12:43:48

标签: android

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");
}
    }
 }
}

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延伸,然后您可以随时随地访问。