Как соединить два макета Java с Android? - PullRequest
0 голосов
/ 11 января 2011

Я новичок в разработке Java Android.Я использую версию Eclipse SDK 3.6.1.Я пытаюсь сделать это: у меня есть один макет с именем «login.xml» и другой «main.xml».Я хочу сначала загрузить "login.xml", введите имя для входа, а затем, если имя пользователя правильное, загрузить "main.xml".

public class simpleprogram extends Activity {   


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);

}

Как правильно вызвать main.xml?

Ответы [ 3 ]

2 голосов
/ 11 января 2011

Вам не нужно менять макет. Вы должны создать отдельное действие с представлением содержимого == R.layout.main (аналогично тому, как вы это делали с действием simpleprogram) и запустить действие в момент успешного входа в систему.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    Button loginBtn = (Button) findViewById(R.id.loginBtn);
    loginBtn.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
         // check that login is correct
         // if so...
         Intent intent = new Intent(simpleprogram.this, SecondActivity.class);
         startActivity(intent);
      }
    }
}

См. Оригинальное руководство для разработчиков .

0 голосов
/ 26 декабря 2013

вы должны ввести:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.login);
   Button loginBtn = (Button) findViewById(R.id.loginBtn);
   loginBtn.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
     // check that login is correct
@Override
   public void onClick(View args0) {
   setContentView(R.layout.main);
}
   }
}
}
0 голосов
/ 11 января 2011

Конечно, вы могли бы просто установить новое представление контента после коммита?

public class simpleprogram extends Activity {   


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(checkForLoggedIn()){
        setContentView(R.layout.main);
    }else{
        setContentView(R.layout.login);
    }

}

Или сделать что-то подобное с помощью onClick

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...