Intereting Posts
Кордова / PhoneGap HTML5 GeoFence Создание многостраничных / форматных данных с помощью android Android SDK не найден. Убедитесь, что он установлен. Если он не находится по умолчанию, установите переменную среды ANDROID_HOME Время ожидания подключения Http на Android не работает Android – просмотр баз данных SQLite на устройстве? Как перезапустить идентификатор автоматического увеличения с 1 в базе данных Android SQLite Spinner: получить статус или получить уведомление при открытии Панель инструментов с календарем Приложения из последних приложений возвращаются в пусковую установку, а не пользовательскую пусковую установку Поддержка фрагмента Android SDK Панель инструментов, не отображаемая с внутренней панели сворачивания Как реализовать обратные вызовы Android на C # с помощью async / wait с помощью Xamarin или Dot42? Настройки плеера Android Передняя камера Android Camera2 Android-сервис и пользовательский интерфейс

Как получить кнопку для открытия другой активности в Android Studio?

Привет, я новичок в программировании, и я использую Android Studio для кодирования своего приложения для Android. Я работал с Eclipse но я пытаюсь что-то новое. Я добавил кнопку в my activity.XML файл my activity.XML и я не могу заставить ее открыть другое действие. Может кто-нибудь, пожалуйста, скажите мне шаг за шагом о том, как это сделать, пожалуйста?

Solutions Collecting From Web of "Как получить кнопку для открытия другой активности в Android Studio?"

A. Убедитесь, что ваша другая активность объявлена ​​в манифесте:

 <activity android:name="MyOtherActivity" android:label="@string/app_name"> </activity> 

Все действия должны быть объявлены в манифесте , даже если у них нет целевого фильтра, назначенного им.


B. В своей MainActivity сделайте что-то вроде этого:

 Button btn = (Button)findViewById(R.id.open_activity_button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, MyOtherActivity.class)); } }); 

Использование OnClickListener

В onCreate() экземпляра вашей Activity вы должны сначала найти свою Button по своему id с помощью findViewById() а затем установить OnClickListener для своей кнопки и реализовать метод onClick() чтобы он начал новую Activity .

 Button yourButton = (Button) findViewById(R.id.your_buttons_id); yourButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class)); } }); 

Вероятно, это самый предпочтительный метод для разработчиков. Однако существует общая альтернатива.

Использование onClick в XML

В качестве альтернативы вы можете использовать android:onClick="yourMethodName" чтобы объявить имя метода в своей Activity которое вызывается при нажатии на вашу Button , а затем объявите свой метод следующим образом;

 public void yourMethodName(View v){ startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class)); } 

Кроме того, не забудьте объявить свою новую Activity в вашем manifest.xml . Надеюсь, это поможет.

Рекомендации;

  • Запуск другой активности (официальное руководство по API)

Если вы указали свою кнопку в файле xml, подобном этому:

 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="next activity" android:onClick="goToActivity2" /> 

То вы можете использовать его для изменения активности, помещая это в файл java:

 public void goToActivity2 (View view){ Intent intent = new Intent (this, Main2Activity.class); startActivity(intent); } 

Обратите внимание, что мое второе действие называется «Main2Activity»

 Button T=(Button)findViewById(R.id.button_timer); T.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i=new Intent(getApplicationContext(),YOURACTIVITY.class); startActivity(i); } }); 

Public void onButtonClick (Просмотреть просмотр)

StartActivity (новый Intent (Current activity.this, IntentActivity.class));

Напишите код в файле xml.

 <Button android:width="wrap_content" android:height="wrap_content" android:id="@+id/button" android:text="Click"/> 

Введите код в свой java-файл

 Button button=(Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(getApplicationContext(),Secondclass.class)); /* if you want to finish the first activity then just call finish(); */ } }); 

Примените следующие шаги:

  1. Вставить новый макет xml в макет папки
  2. Переименовать window2
  3. Добавьте новую кнопку и добавьте эту строку: android: onClick = "window2"

mainactivity.java

 public void openWindow2(View v) { //call window2 setContentView(R.layout.window2); } }