Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Кнопка назад


Автор: Ярослав 1.4.2012, 15:27
Проблема такова есть главная форма в ней выбор других форм в них ячейки в которые вводятса числа, при нажатии кнопки назад (обработчик я знаю) тоесть на главную фому  при обратном выборе формы в ячейках нет цифер.Подскажите как сделать чтоб оставались там числа. Заранее благодарю

Автор: Oligarh 1.4.2012, 20:52
Создайте переменные, которые будут соответствовать каждой форме. По переходу на новую форму записывайте в переменные необходимые значения, при возврате - вычитывайте из переменных значения и вставляйте по умолчанию в нужные вам поля.

Автор: Ярослав 2.4.2012, 11:02
а другого метода нет, а то чёт я не понял

Автор: toxx 2.4.2012, 11:09
Используйте Preference's

Автор: javastic 2.4.2012, 18:02
Вот пример как передавать значения из/в активити. Пользуйся на здоровье.

Автор: Ярослав 2.4.2012, 18:27
Спасибо брат посмотрю, дам ответ

Автор: Ярослав 2.4.2012, 19:35
Почти то что нужно. Но проблема токова что при обртном возвращении на форму в ячейках пустота, а необходимо чтоб оставались данные в ячейках потому как буду ссылатса на них из других форм

Автор: ShellRaiser 2.4.2012, 20:43
используйте преференсы для таких ситуаций, или статически храните, это не безопасно стучаться за данными к другой активити.

Автор: Ярослав 3.4.2012, 20:58
Спасибо буду разбиратса. Жаль что это не нетбенс там таких проблем нет

Автор: javastic 6.4.2012, 08:37
Цитата(Ярослав @ 2.4.2012,  19:35)
Почти то что нужно. Но проблема токова что при обртном возвращении на форму в ячейках пустота, а необходимо чтоб оставались данные в ячейках потому как буду ссылатса на них из других форм

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

Сделай тогда через Preference как тут народ предлагает, запоминай значения при открытии новой активити и потом при возвращении вытаскивай их и через setText проставляй в поля.

Автор: Ярослав 8.4.2012, 08:28
Скину свой проект. По возможности помогите пожалуйста

Автор: Ярослав 8.4.2012, 14:00
Вот нацарапал програмульку. Подскажите как правельно сделать, просто будит у меня много программ таким методом (программы для артиллеристов) Спасибо большое заранее

Автор: toxx 8.4.2012, 22:07
Цитата(Ярослав @ 8.4.2012,  14:00)
Вот нацарапал програмульку. Подскажите как правельно сделать, просто будит у меня много программ таким методом (программы для артиллеристов) Спасибо большое заранее

Не совсем понятно что вы хотите, но
вместо System.exit(0); используйте finish()

Зачем столько setContentView();  ??

Какая стоит задача конечная?

Автор: Ярослав 9.4.2012, 00:32
Задача заключаетса сложить две ячейки каждая которая находитьса На разной форме, а на третей форме кнопка с обработчиком и ячейкой вывода результата 

Автор: toxx 9.4.2012, 13:37
Можно былобы сделать 3 активити, 
1- Обработчик с кнопкой, берет значения из Preference и считает
2- Значение 1 формы
3- Значение 2 формы

записывать ваши значения в Preference

Автор: Ярослав 9.4.2012, 14:34
а как это реализовать

Автор: Ярослав 9.4.2012, 19:11
Подскажите как именно, а то я чёт не догоняю. Читал про Preference но немогу понять как применить к моему случаю

Автор: Ярослав 11.4.2012, 21:03
Есть идея через Preference только пример у меня для одной ячейки, а на две не получаетса, подскажите как добавить
Вот код
 public void Click_save (View v){
     saveText();
}     
    public void Click_lond (View v){
     loadText();
}    
    void saveText(){
    EditText etText = (EditText)findViewById(R.id.editText_id);
    sPref=getPreferences (MODE_PRIVATE);
    Editor ed=sPref.edit();
    ed.putString(SAVED_TET, etText.getText().toString());
    ed.commit();
    Toast.makeText(this, "Текст сохранён", Toast.LENGTH_SHORT).show();
    }
    void loadText(){
     EditText etText = (EditText)findViewById(R.id.editText_id);
        sPref=getPreferences (MODE_PRIVATE);
        String savedText =sPref.getString(SAVED_TET, "");
        etText.setText(savedText);
        
        Toast.makeText(this, "Текст загружен", Toast.LENGTH_SHORT).show();
        }    

Автор: Ярослав 12.4.2012, 21:37
Всё рзобрался всем спасибо

public class SavingActivity extends Activity {
    
    SharedPreferences sPref;
    public static final String EXT_COLS = "cols";
    public static final String EXT_ROWS = "rows";

    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    public void Click_save (View v){
     saveText();
}     
    public void Click_lond (View v){
     loadText();
}    
    void saveText(){
    EditText etText1 = (EditText)findViewById(R.id.editText1_id);
    EditText etText2 = (EditText)findViewById(R.id.editText2_id);
    sPref=getPreferences (MODE_PRIVATE);
    Editor ed=sPref.edit();
    ed.putString(EXT_COLS, etText1.getText().toString());
    ed.putString(EXT_ROWS, etText2.getText().toString());
    ed.commit();
    Toast.makeText(this, "Текст сохранён", Toast.LENGTH_SHORT).show();
    }
    void loadText(){
     EditText etText1 = (EditText)findViewById(R.id.editText1_id);
     EditText etText2 = (EditText)findViewById(R.id.editText2_id);
        sPref=getPreferences (MODE_PRIVATE);
        String savedText1 =sPref.getString(EXT_COLS, "");
        String savedText2 =sPref.getString(EXT_ROWS, "");
        etText1.setText(savedText1);
        etText2.setText(savedText2);
        
        Toast.makeText(this, "Текст загружен", Toast.LENGTH_SHORT).show();
        }    

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)