2012-03-19 3 views
0

Bassicly моя цель слишком расширяет активность, поэтому, когда пользователь нажимает «Далее», сколько раз он хочет, я хочу, чтобы вы могли отображать значение в Activity2.
Я хочу как-то сохранить значения, сохраненные в переменных, даже когда я перейду в новую деятельность - я не слишком уверен, если это возможно. Любая помощь будет оцененаПравильно не понимает расширенный класс

1-го класса

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

2-го класса

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

вы можете сохранить значение в общественном static поле.

Edit: или вы можете сохранить его в 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", ""); 
    } 
0

Вы можете передать значения между Действия и фрагменты с помощью Bundle или Extra в классе Intent.

Чтобы вернуть их обратно в действие, которое вы бы назвали getIntent(), либо либо получить Extra из этого, либо вызвать getExtras() для возвращаемого намерения, чтобы получить Bundle. В фрагменте вы вызываете getArguments(), который возвращает Bundle.

Связки очень удобны, что позволяет легко передавать примитивные данные между действиями.

Другим вариантом является сохранение этих значений в вашем собственном классе, который простирается от Application, после чего вы можете получить доступ в любом месте и в любое время.

Смежные вопросы