Как перемещаться с одного экрана на другой экран

StackOverflow https://stackoverflow.com/questions/1102050

  •  12-09-2019
  •  | 
  •  

Вопрос

Как перейти от одного экрана активности к другому экрану активности?На первом экране у меня есть одна кнопка, если я нажму кнопку, она должна перейти на другой экран активности.

Это было полезно?

Решение

OnClickListener onClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(action));
    }
};

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);

Другие советы

Самый тривиальный случай (вызывается из активности):

startActivity(new Intent(this, ActivityToLaunch.class));

Более подробная информация здесь: http://developer.android.com/guide/topics/fundamentals.html

Button x.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) 
                {
                    Intent i = new Intent(y.this, Activity.class);
                    startActivity(i);                   
                }
        });

Здесь мы определили прослушиватель для кнопки x.ОС вызовет этот метод и запустит действие, указанное в намерении i.

Вот официальный пример учебника:http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html

Button btn = (Button)findViewById(R.id.button1);

btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {      

        startActivity(new Intent(TestActivity.this,second.class));

    }
});
public void onClick(View v) 
{
    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               
}
final Context cont = this;
Button btnClickABC =(Button)findViewById(R.id.btnClickABC);
btnClickABC.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {                   
                startActivity(new Intent(cont, NextActivity.class));

            }
        });

Эту задачу можно выполнить, используя один из основных строительных блоков Android, называемый «Намерения» и «Один из методов». public void startActivity (Intent intent) который принадлежит вашему классу Activity.

Намерение — это абстрактное описание операции, которую необходимо выполнить.Его можно использовать с startActivity для запуска действия, с BroadcastIntent для отправки его любым заинтересованным компонентам BroadcastReceiver и с startService(Intent) илиbindService(Intent, ServiceConnection, int) для связи с фоновой службой.

Намерение предоставляет возможность выполнить связывание кода в разных приложениях на позднем этапе выполнения.Наиболее значимое его использование — при запуске мероприятий, где его можно рассматривать как связующее звено между действиями.По сути, это пассивная структура данных, содержащая абстрактное описание действия, которое необходимо выполнить.

Обратитесь к официальным документам - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) -- Используется для запуска нового действия.

Итак, предположим, что у вас есть два класса Activity и нажатие кнопки OnClickListener() вы хотите перейти от одного вида деятельности к другому, тогда...

  1. Настоящее действие -- Это ваше текущее действие, из которого вы хотите перейти ко второму действию.

  2. Следующая деятельность -- Это ваше следующее занятие, к которому вы хотите перейти.

Итак, намерение будет таким

Intent(PresentActivity.this, NextActivity.class)

Наконец, это будет полный код

  public class PresentActivity extends Activity {
        protected void onCreate(Bundle icicle) {
            super.onCreate(icicle);

            setContentView(R.layout.content_layout_id);

            final Button button = (Button) findViewById(R.id.button_id);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    // Perform action on click   

                    Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);

                    // currentContext.startActivity(activityChangeIntent);

                    PresentActivity.this.startActivity(activityChangeIntent);
                }
            });
        }
    }

Этот пример связан с нажатием кнопки. Вы можете использовать код в любом месте, который написан внутри нажатия кнопки. OnClickListener() в любом месте, где вы хотите переключаться между своими занятиями.

Используйте следующий код. Надеюсь, это вам поможет.

 Button button = (Button)findViewById(R.id.xxx);
    button .setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
        Intent intent=new Intent(CurrentActivity.this,NextActivity.class);
        startActivity(intent);
        }
    });

ххх это идентификатор из вашего XML-кода вашей кнопки.

startActivity(new Intent(this,newActivity.class));

Переключиться с одного вида деятельности на другой действительно просто, но сложно для нового.Ваш следующий класс должен быть определен в AndroidManifest.xml.Это класс тестера:

<activity
  android:name=".Tester"
  android:label="@string/title_activity_tester" >`enter code here`
</activity>


final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(CurrentClass.this, Tester.class);
        startActivity(i);
    }

Вы можете перейти к следующему экрану, используя эти фрагменты кода:

Котлин

startActivity(Intent(this, LoginActivity::class.java))

Джава

startActivity(new Intent(this, LoginActivity.class))

Вот ссылка: Разработчики Android – начало другого занятия

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top