我不知道发生了什么,但我有个例外,应用程序冻结。
主要活动:
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):致命异常:main
e/androidruntime(21649):java.lang.nullpointerexception
E/AndroidRuntime(21649):在
Copy.MaultActudio.OnCutter(MaunActudia. Java:53)
E/AndroidRuntime(21649):在
Android .view .View .PrPultCutlook(View .java:4232)
E/AndroidRuntime(21649):在
Auto.View查看$PrimultCalk.Run(view .java:17298)
E/AndroidRuntime(21649):在
Addio.Os.Halder-HelpCeleBub(HANDL.java:615)
E/AndroidRuntime(21649):在
Addio.Os.Halder-Debug消息(处理程序:Java:92)
E/AndroidRuntime(21649):在安卓.OS.Looper-Loor(Looper-Java:137)
E/AndroidRuntime(21649):在
安卓(主:Java:4921)
E/AndroidRuntime(21649):在
Java.Lang.Eng.Simult.FutoEnnistic(本机方法)
E/AndroidRuntime(21649):在
Java.Lang.Eng.Simult.Voice(方法.java:511)
E/AndroidRuntime(21649):在
COM.Android .No.OS.ZyGoTynIt $方法和AgsCalal.Run(ZyGoTynIt.java:1027)
E/AndroidRuntime(21649):在
COM.Android .No.OS.ZyGoTyIn.Mault(ZyGoTynIt.java:794)
e/androidruntime(21649):在dalvik.system.nativestart.main(本地
方法)
最佳答案
inMyActivity
添加方法
public void addlistener(mainacitive.onitemselectedlistener侦听器){
mcallback=侦听器;
}
并在onViewCreated()
的MyFragment
中调用此方法。((MyActivity) getActivity).addListener(this);
关于android - Android与Fragment交流 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18889877/