установить текст в текстовом представлении с текстом из текста редактирования в другом классе - PullRequest
1 голос
/ 22 сентября 2011

Я совершенно новичок в Android, поэтому извиняюсь, если это глупый вопрос.Но моя проблема заключается в следующем:

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

Точнее говоря, у меня есть страница входа в систему, и я хочу, чтобы имя пользователя (введенное пользователем в поле редактирования текста) было перенесено в текстовое поле на странице входа.В настоящее время я пытаюсь добиться этого с помощью прослушивателя щелчков для кнопки входа в систему на странице входа в систему:

public void sign_in_click(View view) {
    EditText tv1 = (EditText) findViewById(R.id.txt_input_uname);

    String username=tv1.getText().toString();

    LoginDetails unamede=new LoginDetails();
    unamede.setuname(username);

    Intent myIntent = new Intent(view.getContext(), customer.class);
    startActivityForResult(myIntent, 0); 

}

Поэтому прослушиватель щелчков инициализирует новую переменную класса, которую я определил в другом классе, следующим образом:

public class LoginDetails {
public String uname;

public void setuname(String username){
        uname=username;     
}

public String getuname(){
    return uname;   
}
}

и он дает uname имя пользователя из поля edittext на странице входа в систему.

Затем я захожу на страницу входа в систему под oncreate:

LoginDetails unamed= LoginDetails();
String username=unamed.getuname();

tv1.setText(username);

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

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

То, что я хотел бы предложить, это поместить информацию о входе пользователя в SharedPreference.Чтобы перенести дату в другое занятие.

Например ...

 SharedPreferences myPrefs = getSharedPreferences("USER_INFO", 0);
 myPrefsEdit.putString("USER_ID", username=tv1.getText().toString(););
 //This is the username you get from edittext

 myPrefsEdit.putString("PASSWORD", password);
 //this is the user password you get from edittext

 myPrefsEdit.commit();

В вашем следующем занятии.

Получить ссылку на вашу SharePreference, например ...

SharedPreferences info = getSharedPreferences("USER_INFO, 0);
String username = info.getString("USER_ID", "DOESNT EXIST");
String userpassword = info.getString("PASSWORD", "DOESNT EXIST");

Это должно сделать

0 голосов
/ 22 сентября 2011

Вы можете попробовать добавить имя пользователя к цели активности (если вы не хотите сохранять его в общем доступе прямо сейчас):

Intent myIntent = new Intent(view.getContext(), customer.class);
myIntent.putExtra("uname", username);
startActivityForResult(myIntent, 0);

А затем в onCreate:

tv1.setText(getIntent().getStringExtra("uname"));
...