2015-08-07 1 views
-4

Я хочу знать, как я могу заставить свой ImageButton перейти на другую деятельность в Android Studio 1.2.2?Как я могу заставить свой ImageButton перейти к другому действию в Android Studio?

Я попытался сделать это, используя кнопки, которые были сделаны для кнопок.

Это мой Java-код

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_menu_01); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_menu_01, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 

    } 
} 
+0

Объявление кнопки изображения в макете и поиск объекта в onCreate. –

ответ

0

Сначала необходимо создать ImageButton на layout.xml текущей деятельности:

<ImageButton 
    android:id="@+id/your_id" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

Чем, в текущей деятельности, необходимо создать переменную ImageButton:

ImageButton myButton = (ImageButton) findViewById(R.id.the_button_you_created_on_the_layout.xml_file); 

Затем вам необходимо установить кнопку прослушивания нажатием этой кнопки:

* Слушатель кликов будет «w ait "для нажатия на вашу кнопку.

myButton.setOnClickListener(new View.OnClickListner(){ 
    // When the button is pressed/clicked, it will run the code below 
    @Override 
    public void onClick(){ 
     // Intent is what you use to start another activity 
     Intent intent = new Intent(this, YourActivity.class); 
     startActivity(intent); 
    } 
}); 

После этого ваше приложение должно запустить другое действие без проблем.

+0

Когда я помещаю код javascript, я говорю об ошибке: не найдено подходящего конструктора для Intent (, Class ) Конструктор Intent.Intent (String, Uri) не является применимо (аргумент рассогласование <анонимный OnClickListener> не может быть преобразован в строку) конструктора Intent.Intent (Context, класс ) не применяется (несоответствие аргумента <анонимный OnClickListener> не может быть преобразован в контекст) –

+0

Это мой Javascript код: myButton.setOnClickListener (новый View.OnClickListener() { @Override public void onClick (View v) { В tent myIntent = новый Intent (это, MainActivity2.class); startActivity (намерение); –

+0

Вы должны добавить новую активность в файле AndroidManifest.xml: <активность андроид: имя = андроид "yourNewActivty.": LABEL = "Название вашей деятельности" андроид: "theActivityThatStartsThisNewOne" parentActivityName => <мета-данные андроид: имя = "android.support.PARENT_ACTIVITY" андроид: значение = "com.example.you.myapplication.theActivityThatStartsThisNewOne" /> – meyer1994

0

Вот некоторые примеры кода для вас работать. Идея состоит в том, чтобы установить OnClickListener для вашего ImageButton, и в этом OnClickListener создайте Intent, чтобы перейти к новому Activity, затем позвоните по телефону startActivity(intent).

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_menu_01); 
    ImageButton button = (ImageButton) findViewById(R.id.my_button); 
    final Context context = this; 
    button.setOnClickListener(new View.OnClickListner(){ 
     @Override 
     public void onClick(View v){ 
      Intent intent = new Intent(context, NewActivity.class); 
      startActivity(intent); 
     } 
    }); 
} 
+0

Но когда я пытаюсь запустить эмулятор, я говорю об ошибке: ';' ожидается. –

+0

На какой строке это просто синтаксическая ошибка – RogueBaneling

Смежные вопросы