
只是徘徊为什么下一个代码出现“NoSuchMethodException:onPrefImageClick [class androID.vIEw.VIEw]”消息.
public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState){ VIEw mVIEw = inflater.inflate(R.layout.pref_detail_fragment, container, false); return mVIEw;} // onCreateVIEw()public voID onPrefImageClick(final VIEw clickedVIEw){ switch(clickedVIEw.getID()) { case R.ID.prefDetailimage: Log.i(TAG, "Clicked on the image"); break; case R.ID.prefDetailText: Log.i(TAG, "Clicked on the text"); break; default: Log.i(TAG, "Clicked some where"); }} // onPrefImageClick()同
androID:onClick="onPrefImageClick"存在于xml中.
这段代码:
@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState){ VIEw mVIEw = inflater.inflate(R.layout.pref_detail_fragment, container, false); final ImageVIEw imgVIEw = (ImageVIEw) mVIEw.findVIEwByID(R.ID.prefDetailimage); imgVIEw.setonClickListener(new VIEw.OnClickListener() { public voID onClick(VIEw v) { Log.i(TAG, "Clicked on the image"); // Perform action on click } }); return mVIEw;} // onCreateVIEw()同时删除xml中的行和onPrefImageClick()方法;
工作得很好.
可以/有人会解释吗?
解决方法:
您应该将onPrefImageClick放在托管片段的Activity中.
这是因为,AndroID将在片段中查找不在片段中的方法. AndroID不确定,哪个Fragment目前正在运行,因此它在Activity中查找.
以上是内存溢出为你收集整理的android – NoSuchMethodException:onClick in Fragment全部内容,希望文章能够帮你解决android – NoSuchMethodException:onClick in Fragment所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)