我有两项活动FirstActivity
和SecondActivity
。
在FirstActivity
中,我有两个案例; case 1
和case 2
;
在SecondActivity
中,我定义了recyclerView.addOnItemTouchListener
个事件。
我想要做的是,在初始化recyclerView.addOnItemTouchListener时,或者当我触摸任何项目时;将调用case 1
,否则为case 2
。有人可以帮我吗?
提前告诉你
答案 0 :(得分:0)
简单方法:
在Application类中有一个静态布尔变量。如果触摸SecondActivity中的项目,请更改该布尔值。检查FirstActivity中的布尔值以确定将运行哪种情况。
正确的方式:
在SecondActivity中有一个布尔成员变量。如果触摸SecondActivity中的项目,请更改该布尔值。通过onActivityResult将该布尔值发送到FirstActivity。检查FirstActivity中的布尔值以确定将运行哪种情况。
另一种正确方法:
在SecondActivity的SharedPreferences中保存一个布尔值。从FirstActivity中的SharedPreferences获取布尔值,并检查布尔值以确定将运行哪个案例。
答案 1 :(得分:0)
您可以通过创建自定义触摸侦听器类来实现此目的。我为我的一个应用程序做了那个。
public final class CustomTouchListener implements OnTouchListener {
Context context;
public CustomTouchListener(Context context) {
super();
this.context = context;
}
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
//case 1 code here
return false;
}else{
//case 2 code here
}
return true;
}
}
然后你会打电话:
recyclerView.setOnTouchListener(new CustomTouchListener(this));