Я хочу сохранить сообщение в textView, а не просто отобразить его в другом действии.Например, если приложение будет закрыто в следующий раз, когда оно будет открыто, я хочу увидеть сообщение, которое я добавил.
У меня есть два действия.
Activity one
-> Я сохраняю дату с помощью SharedPraferences в переменной NAME_RESTAURANT и отправляю метод метки даты 'getMsg ()'
Activity two
-> Я получаю дату и хочу поставитьэто в TextView с именем etWelcomeToRestaurant2
Дата представлена строкой, которую я получаю из EditText с именем etDRestaurantName
в первом действии.
Моя проблемав том, что в SecondActivity
дата не отображается.
действие, в котором я сохраняю дату, и из которого я передаю дату в Другое действие
public class AdminAreaActivity extends AppCompatActivity {
public static final String SHARED_PREFS = "sharedPrefs";
public static final String RESTAURANT_NAME = "restaurantName";
private String NAME_RESTAURANT;
private EditText etDRestaurantName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin_area);
etDRestaurantName = findViewById(R.id.etRestaurantName);
final Button bRestaurantChange = findViewById(R.id.bRestaurantChange);
bRestaurantChange.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!etDRestaurantName.getText().toString().matches("")){
Intent mainIntent = new Intent(AdminAreaActivity.this,MainActivity.class);
saveData();
loadData();
etDRestaurantName.getText().clear();
startActivity(mainIntent);
}
else
{
AlertDialog.Builder builder = new AlertDialog.Builder(AdminAreaActivity.this);
builder.setMessage("Failed!")
.setNegativeButton("Retry", null)
.create()
.show();
}
}
});
}
public void saveData(){
SharedPreferences sharedPreferences =getSharedPreferences(SHARED_PREFS,MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(RESTAURANT_NAME,etDRestaurantName.getText().toString()+"!");
editor.apply();
Toast.makeText(this,"Data saved!",Toast.LENGTH_SHORT);
}
public void loadData(){
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS,MODE_PRIVATE);
NAME_RESTAURANT = sharedPreferences.getString(RESTAURANT_NAME,"Your Restaurant here!");
}
public String getMsg(){
return NAME_RESTAURANT;
}
}
действие, в которое я хочуположить данные и где я их получил:
public class MainActivity extends AppCompatActivity {
private TextView etWelcomeToRestaurant2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView etWelcomeToRestaurant = findViewById(R.id.etWelcomeToRestaurant);
String messg = "Welcome to,\n";
etWelcomeToRestaurant.setText(messg);
etWelcomeToRestaurant2 = findViewById(R.id.etWelcomeToRestaurant2);
AdminAreaActivity admOBj = new AdminAreaActivity();
etWelcomeToRestaurant2.setText(((AdminAreaActivity)admOBj).getMsg());
}
}