只是想知道为什么下一个代码会出现“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 中。
而这段代码:
@Override
public 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() 方法;
工作得很好。
可以/有人解释一下吗?