it-roy-ru.com

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

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

21
BionicDroid

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

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

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


Б. В своей основной деятельности сделайте что-то вроде этого:

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));
        }
});
65
Gilad Haimov

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

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

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

15
Rudi Kershaw

Если вы объявили свою кнопку в 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».

7
daniftomas
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);
    }
});
2
harveyslash

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

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

mainactivity.Java

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

Написать код в 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
Amol Gursali

public void onButtonClick (Просмотр представления)

startActivity (новое намерение (текущая активность. это, IntentActivity.class));

0
Mani kandan

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

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

0
Matécsa Andrea

используйте следующий код, чтобы кнопка в 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'S ID GOES HERE.class));
    }
});
0
user9876226