Подтвердить что ты не робот

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

Я добавил кнопку в свой XML файл активности и не могу открыть ее для других своих действий. Может кто-нибудь подскажет, пожалуйста, шаг за шагом, как это сделать?

4b9b3361

Ответ 1

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

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

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


В. В своей 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));
        }
});

Ответ 2

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

Внутри вашего метода Activity instance onCreate() вам нужно сначала найти свой Button по его идентификатору с помощью 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. Надеюсь, это поможет.

Литература;

Ответ 3

Если вы указали свою кнопку в файле 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"

Ответ 4

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);
    }
});

Ответ 5

Введите код в файл 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(); */
        }
    });

Ответ 6

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

  • вставить новый макет xml в макет папки
  • переименовать window2
  • добавить новую кнопку и добавить эту строку: android: onClick = "window2"

mainactivity.java

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

Ответ 7

Я сделал то же, что ответил user9876226. Единственное отличие состоит в том, что я обычно не использую onClickListener. Вместо этого я пишу следующее в xml файле: android:onClick="open"

open - это функция, связанная с кнопкой. Затем просто создайте функцию open() в вашем классе деятельности. Когда вы нажимаете на кнопку, эта функция будет вызываться :) Кроме того, я думаю, что этот способ более удобен, чем использование слушателя.

Ответ 8

используйте следующий код, чтобы кнопка в Android Studio открыла уже существующее действие.

Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);

StartButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(MainActivity.this, YOUR ACTIVITY ID GOES HERE.class));
    }
});

Ответ 9

public void onButtonClick(View view)

startActivity(new Intent (Current activity.this, IntentActivity.class));