2016-02-05 3 views
-2

Я довольно новичок в программировании на Java/Андроиде и в основном следую учебникам/чтению. У меня есть 2 класса, называемые MainActivity и Homeactivity, MainActivity - это то место, где пользователь входит в систему, а HomePageactivity открывается посредством намерения, если логин верен.Извлечение строки из Java класса

Имя пользователя, передается через текст редактирования, в которой я использовал следующий код в главном классе

String CurrentUser = editTextusername.getText().toString(); 
public String GetCurrentUser() 
{ 
    return CurrentUser; 
} 

И это в классе домашней страницы

MainActivity testing = new MainActivity(); 
String x = testing.GetCurrentUser(); 
CurrentUserName.setText(x); 

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

Любые идеи относительно того, что им делать wron g here guys

+0

** MainActivity тестирование = новый MainActivity() **; это не так, как андроид должен работать ... –

+0

Я думаю, ваша проблема editTextusername не имеет текст, когда вы назначаете Тек rentUser и toString на null бросает нулевой указатель –

+0

Вы читали сообщения журнала? – Riaz

ответ

0

Вы можете использовать намерение нести информацию от одного Activity к другому. Прочтите следующее: Intents

С помощью довольно легко перенести строки и примитивные типы данных. Некоторые примеры кода, чтобы сделать его более ясным:

//this runs, for example, after a button click 
Intent intent = new Intent(this,SecondActivity.class); 
intent.putExtra("username", userName); 
startActivity(intent); 

На другом конце вы можете взять их так:

String username = getIntent().getStringExtra("username"); 
0

Строка может быть пустым во время установки для TextView проверить перед установкой в ​​TextView

String CurrentUser = editTextusername.getText().toString(); 
          public String GetCurrentUser() 
          { 
           if(currentUser.length>0&&currentUser!="")  
           return CurrentUser; 
           else return "empty"; 
          } 
String x = testing.GetCurrentUser(); 

     CurrentUserName.setText(""+x); 
Смежные вопросы