我有一個片段可以擴展自定義視圖。爲片段創建自定義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