2015-05-09 8 views
0

У меня есть код, чтобы изменить текст TextView в макете по значению EditText (ЕТ) в предыдущем макете, как сохранить свой текст в TextView андроид

есть MorningDrsGeneral:

public class MorningDrsGeneral extends ActionBarActivity { 
Button button ; 
EditText et; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.morningdrs); 


    et = (EditText) findViewById(R.id.et); 
    addListenerOnButton1(); 
    } 
    public void addListenerOnButton1() { 

     final Context context = this; 

     button = (Button) findViewById(R.id.button1); 

     button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 


      Intent intent = new Intent(context, bookingKamal.class); 
       intent.putExtra("fn" , et.getText().toString()); 
       startActivity(intent);} 


     });} 




@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

}

и есть bookingKamal.java:

public class bookingKamal extends ActionBarActivity { 
Button button ; 
TextView textView3 ; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.bookingkamal); 

    textView3 = (TextView) findViewById(R.id.textView3) ; 
    String A = textView3.getText().toString(); 
    String N = " " ; 
    if (A.equals(N)){ 
    Intent intent = getIntent(); 
    String texx = intent.getStringExtra("fn") ; 
    textView3.setText(texx); 
    }} 








@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
    } 

Я должен держать ю текст в макете бронирования.

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

+0

Использовать saveinstancstate для сохранения данных –

+0

ok как его использовать? –

ответ

0

Затем он должен быть, как этот

bookingKamal.java

String texx; 
void onBackPressed() { 
     Intent intent = new Intent(getApplicationContext(), MorningDrsGeneral.class); 
     intent.putExtra("texx" , texx); 
     startActivity(intent); 
} 

MorningDrsGeneral.java

protected void onCreate(Bundle savedInstanceState) { 
     et = (EditText) findViewById(R.id.et); 
     Intent intent2 = getIntent(); 
     if (intent2.getStringExtra("texx") != "") { 
       String abcd = intent2.getStringExtra("texx"); 
       et.setText(abcd); 
     } 

    } 
+0

Это неправильный способ сделать это. Лучше использовать SharedPreferences. Это сохранит данные (даже если вы закроете приложение =>, если вы этого хотите). Метод, который вы используете, не является удобным. Когда вы добавляете новый фрагмент между этими двумя, вы вынуждены менять коды везде. Лучше сохранить данные с sharedPreferences –

+0

Вы правы. Если использовать фрагмент, этот способ не будет работать. Я думаю, мы должны создать класс, который поддерживает SharedPreferences. –

0

Вы можете использовать SharedPreferences, это сохранит все если вы покинете макет или канун n (если хотите), если вы закроете свое приложение. Взгляните на документацию на Android по адресу http://developer.android.com/reference/android/content/SharedPreferences.html

+0

ok можно у, пожалуйста, скажите мне, как это сделать здесь. Я прочитал его, и я не знаю, куда поместить мой код :( –

+0

http://stackoverflow.com/a/3624358/4774263 Этот парень очень легко объяснил это –

+0

no мой пример отличается от его не о времени.! –

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