Как использовать кнопку в OnSwipeMethod (MotionEvent) - PullRequest
0 голосов
/ 04 апреля 2020

Привет всем, я имею дело с этой проблемой.

У меня есть приложение, и когда вы нажимаете или проводите пальцем по экрану, статьи меняются (следующая или предыдущая), но я также хочу добавить кнопку «Предыдущая» и «Следующая». Я не знаю, как объявить R.id.gotoleft методом смахивания

Я собираюсь использовать вот так

<ImageView
            android:id="@+id/gotoleft"
            android:layout_width="30dp"
            android:layout_height="40dp"
            android:layout_marginLeft="120dp"
            android:clickable="true"
            android:src="@drawable/ic_left" />

здесь на SwipeMethod

void onSwipeMethod(MotionEvent event, String key, String tableName, String factId, String factName, String factFav){

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                x1 = event.getX();
                y1 = event.getY();
                break;
            case MotionEvent.ACTION_UP:
                reklamsay+=1;
                x2 = event.getX();
                y2 = event.getY();

                if (x1 < x2 ) {//LEFT
                    readFromShared(key);
                    if (i > 2) {
                        i -= 2;
                        fact = db.getFact(i, tableName, factId, factName,factFav).getFact();
                        factTextView.setText(fact);
                        int color = colorWheel.getColor();
                        relativeLayout.setBackgroundColor(color);
                        textViewId.setText("Fact " + i + " of " + db.getFactsCount(tableName));
                        if(db.getFact(i, tableName, factId, factName, factFav).isFavorite() == 0){
                            favImageView.setImageResource(R.drawable.ic_favorite_border_black_24dp);
                        }else {
                            favImageView.setImageResource(R.drawable.ic_favorite_black_24dp);
                        }
                        createShared(i, key);
                    } else i = 1;
                } else if (x2 < x1) { //RIGHT
                    readFromShared(key);
                    if (i <= db.getFactsCount(tableName)) {
                        fact = db.getFact(i, tableName, factId, factName,factFav).getFact();
                        factTextView.setText(fact);
                        int color = colorWheel.getColor();
                        relativeLayout.setBackgroundColor(color);
                        textViewId.setText("Fact " + i + " of " + db.getFactsCount(tableName));
                        if(db.getFact(i, tableName, factId, factName, factFav).isFavorite() == 0){
                            favImageView.setImageResource(R.drawable.ic_favorite_border_black_24dp);
                        }else {
                            favImageView.setImageResource(R.drawable.ic_favorite_black_24dp);
                        }
                        createShared(i, key);
                        i++;
                    }
                }else if (x2 == x1) {
                    readFromShared(key);
                    if (i <= db.getFactsCount(tableName)) {
                        fact = db.getFact(i, tableName, factId, factName, factFav).getFact();
                        factTextView.setText(fact);
                        int color = colorWheel.getColor();
                        relativeLayout.setBackgroundColor(color);
                        textViewId.setText("Fact " + i + " of " + db.getFactsCount(tableName));
                        if (db.getFact(i, tableName, factId, factName, factFav).isFavorite() == 0) {
                            favImageView.setImageResource(R.drawable.ic_favorite_border_black_24dp);
                        } else {
                            favImageView.setImageResource(R.drawable.ic_favorite_black_24dp);
                        }
                        createShared(i, key);
                        i++;
                    } else i = db.getFactsCount(tableName);
                }
                break;
        }
    }

Любая идея Как я могу установить кнопку для следующего и предыдущего?

Большое спасибо.

...