Я не знаю, что происходит, но я получаю исключение, и приложение зависает.Android взаимодействует с фрагментом
Основная деятельность:
public class MainAcitivty extends FragmentActivity implements OnClickListener
{
// ...
public interface OnItemSelectedListener
{
public void onItemSelected(int resourceId);
}
OnItemSelectedListener mCallback;
@Override
public void onClick(View v)
{
if (v.getId() == R.id.my_imageView)
{
mCallback.onItemSelected(R.id.my_imageView);
}
}
}
Фрагмент:
public MyFragment extends Fragment implements MainAcitivty.OnItemSelectedListener
{
@Override
public void onItemSelected(int resourceId)
{
Log.i("INFO", "Selected: " + resourceId);
}
}
Если я нажимаю на выбранную кнопку, приложение замирает и следующее исключение составляет бросок:
E/AndroidRuntime (21649): FATAL EXCEP ЦИЯ: Основной
Е/AndroidRuntime (21649): java.lang.NullPointerException
Е/AndroidRuntime (21649): в com.example.MainActivity.onClick (MainActivity.java:53)
E/AndroidRuntime (21649): в android.view.View.performClick (View.java:4232)
E/AndroidRuntime (21649): в android.view.View $ PerformClick.run (View.java: 17298)
Е/AndroidRuntime (21649): в android.os.Handler.handleCallback (Handler.java:615)
Е/AndroidRuntime (21649): в android.os.Handler.dispatchMessage (Handler.java:92)
Е/AndroidRuntime (21649): в android.os.Looper.loop (Looper.java:137)
Е/AndroidRuntime (21649): в android.app.ActivityThread.main (ActivityThread. java: 4921)
E/AndroidRuntime (21649): at java.lang.reflect.Method.invoke Родной (Родной метод)
Е/AndroidRuntime (21649): в java.lang.reflect.Method.invoke (Method.java:511)
E/AndroidRuntime (21649): в com.android .internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1027)
Е/AndroidRuntime (21649): в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:794)
E/AndroidRuntime (21649): at dalvik.system.NativeStart.main (родной метод)
mCallback не инициируется –