Как перемещаться с одного экрана на другой экран
-
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()
вы хотите перейти от одного вида деятельности к другому, тогда...
Настоящее действие -- Это ваше текущее действие, из которого вы хотите перейти ко второму действию.
Следующая деятельность -- Это ваше следующее занятие, к которому вы хотите перейти.
Итак, намерение будет таким
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 – начало другого занятия