我有一个片段可以扩展自定义视图。为片段创建自定义onClickListner
目前在使用的用户点击它视图更新视图的
public boolean onTouchEvent(MotionEvent event) {... }
不过,我也想更新的时候有一个MotionEvent该片段展示。不建议从自定义视图像内做访问FragmentManager
:
try{
Activity a = (Activity) context;
FragmentManager fm = a.getFragmentManager();
// Use the fragment manager
} catch (ClassCastException e) {
Log.d(TAG, "Can't get the fragment manager with this");
}
似乎凌乱和全坑瀑布。我可以看到,对于扩展ListFragment的片段,有一个public void onListItemClick(ListView l, View v, int position, long id)
可以让你创建一个回调函数,有没有办法让它为标准片段工作?
UPDATE:
对于那些有兴趣,解决的办法是把一个onClickListener的片段onCreateView
类似:
View canvasView = inflater.inflate(R.layout.canvas_view , container, false);
ComposeView myView = (ComposeView) canvasView.findViewById(R.id.myDrawView2);
myView.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view) {
Log.d("FRAG", "OnClick Called");
showNumericInput();
}
});
return canvasView;
而且也产生在查看this.performClick();
的onTouchEvent
一个clickEvent。因此,将调用视图s
onTouchEvent`,这将触发后续的clickEvent,这将触发片段中定义的处理程序。
Invisible Button作为片段的背景?您需要将基础布局设置为RelativeLayout,并将其他小部件放置在不可见按钮的顶部。 –
在您的活动中实现自定义界面,并将界面的引用传递给需要它的活动。 – dm78