使用addOnItemTouchListener在案例之间切换

时间:2016-05-02 08:29:37

标签: android android-recyclerview

我有两项活动FirstActivitySecondActivity

FirstActivity中,我有两个案例; case 1case 2;

SecondActivity中,我定义了recyclerView.addOnItemTouchListener个事件。

我想要做的是,在初始化recyclerView.addOnItemTouchListener时,或者当我触摸任何项目时;将调用case 1,否则为case 2。有人可以帮我吗?

提前告诉你

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));