所以,我知道你不应该从非 Activity 类中调用意图,更不用说带有结果的意图了。一个非 Activity 类根本不应该那样做,并且要对它应该做的任何事情负责。
是)我有的
现在,我有一个NappingActivity
显示十几个按钮的VideoButtonView
. 这些按钮扩展android.widget.Button
。
我希望能够拖动和单击按钮,所以我在 中实现了拖动/单击逻辑VideoButtonView
,通过设置:
this.setOnTouchListener(new View.OnTouchListener() { … }
当用户点击里面的按钮时onTouch(View v, MotionEvent event)
,会调用以下代码:
Context context = v.getContext();
Intent showVideo = new Intent(context, ViewActivity.class);
context.startActivity(showVideo);
到现在为止还挺好。
我想要的是
现在,这个意图返回到NappingActivity
,但我想通过返回一个结果来分离这个视频播放意图。所以,理想情况下,我会startActivityForResult
从 中调用它NappingActivity
,而不是从VideoButtonView
,因为后者无论如何都是不可能的。
问题
我该如何去重构它,以便我可以从活动而不是按钮中处理点击,或者至少从那里发送意图?
我应该将整个点击和拖动逻辑移动到活动中吗?听起来不是很干净。
我可以实现某种自定义侦听器吗?