2016-08-14 2 views
0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="0dp" 
    android:paddingRight="0dp" 
    android:paddingTop="0dp" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context=".MissedCallServices" 
    > 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/my_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:background="#ffff00" 
     android:elevation="4dp" 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     > 
     <ImageView 
      android:layout_width="100dp" 
      android:layout_height="match_parent" 
      android:src="@drawable/icon" 
      /> 
     <ImageView 
      android:layout_width="100dp" 
      android:layout_height="match_parent" 
      android:src="@drawable/home" 
      android:baselineAlignBottom="false" 
      android:layout_gravity="right" 
      android:onClick="gotoHome" 
      android:clickable="true" 
      android:enabled="true" 
      /> 
    </android.support.v7.widget.Toolbar> 
</RelativeLayout> 

Фрагмент кода, приведенный выше, является макетом моей деятельности во втором ImageView. Я дал onClick = "gotoHome", но я не получаю такого исключения метода. Я не знаю, почему я получаю такое исключение. Это работает должным образом в эмулятореНе удалось найти метод onclick, назначенный ImageView

Добавлено в ответ:

package com.example.tanayyawalkar; 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
public class MissedCallServices extends Activity 
{ 
@Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_missed_call_services); 
    } 

    public void gotoHome(View v) 
    { 
     try 
     { 
      Intent intent = new Intent(this, MainActivity.class); 
      startActivity(intent); 
      finish(); 
      // do something on back. 
      return; 
     } 
     catch (Exception e) 
     { 
      Log.v("Error",e.getMessage()); 
     } 
    } 
} 
+0

добавить Java-код также –

+0

Где ваша функция gotoHome? –

+0

Это в моем файле java –

ответ

1

Ну это происходит из-за android:theme атрибут вашей панели инструментов, Ваш OnClick получает неправильный контекст (android.support.v7.internal.view.ContextThemeWrapper is not your Activity). Попробуйте внедрить прослушиватели в код, не используйте через xml. Удалить theme атрибут и использовать style вместо

Допустим, ImageView имеет idhome

ImageButton homeButton = (ImageButton) findViewById(R.id.yourbuttonid) 
homeButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       //here comes the code 
Intent intent = new Intent(this, MainActivity.class); 
     startActivity(intent); 
     finish(); 
      } 
}); 
+0

Нужно ли писать этот код в onCreate (Bundle savedInstanceState) Я новичок в android –

+1

Да просто скопируйте его и вставьте его в '' 'onCreate''' но не забудьте добавить id в '' 'ImageButton''' и тот же идентификатор в' '' R.id.thatIdYouJustAddedIntoImageButton''' –

+0

Я использую ImageView, поэтому я буду использовать ImageView правильно? –

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