//этот вопрос уже задал в теме урока 106, но там как-то давно никого не было, поэтому думаю может тут быстрее ответят....
пробовал вот так-
Код: Выделить всё
public interface onMainMenuListener
{
public void onButtonClickEvent(int i);
}
onMainMenuListener mainMenuListener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
Activity activity;
if (context instanceof Activity){
activity=(Activity) context;
mainMenuListener = (onMainMenuListener) activity;
}
}
catch (ClassCastException e)
{
throw new ClassCastException(context.toString()+" must implement onMainMenuListener");
}
}
Код: Выделить всё
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.mainmenu_fragment,container,false);
Button trainButton = (Button) v.findViewById(R.id.button_train);
trainButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[color=#BF0000]mainMenuListener.onButtonClickEvent(1);[/color]
}
});
Button youtubeButton = (Button) v.findViewById(R.id.button_youtube);
youtubeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[color=#BF0000]mainMenuListener.onButtonClickEvent(2);[/color]
}
});
return v;
}
java.lang.NullPointerException
at company.ais.simplearithmetic.fragment.MainMenuFragment$1.onClick(MainMenuFragment.java:58)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)