изменить текст при нажатии кнопки

Есть кнопка которая при нажатии издаёт звук, но при долгом нажатии открывает активити, я попытался вставить код для изменения текста при нажатии кнопки, но вместо этого else отказывается работать

MainActivity.java:

public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
    private long down;
    final Handler handler = new Handler();
    TextView textView;
    ImageButton blocker;


    @SuppressLint("MissingInflatedId")
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.buttons);

        findViewById(R.id.blocker).setOnTouchListener(this);
        textView = (TextView) findViewById(R.id.textView);

 blocker.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                    if (System.currentTimeMillis() - down < 350)
                        play(R.raw.blocker);
                //не работает textView.append("TEXT");
                    else
                        openNewActivity();
            }
        });
}

    public boolean onTouch(View view, MotionEvent motionEvent) {
        switch (motionEvent.getAction()) {
            case ACTION_DOWN:
                down = System.currentTimeMillis();
        }
        return false;
    }
    
public void openNewActivity(){
    Intent intent = new Intent(this, supply_system.class);
    startActivity(intent);
}


public void closeactivity(View view){
    MainActivity.this.finish();
}

    }

   

Ответы (1 шт):

Автор решения: En32

Нужно удалить метод currentTimeMillis и использовать setOnLongClickListener

blocker.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                    play(R.raw.blocker);
                textView.append("TEXT");
        }

    });
    blocker.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            openNewActivity();
            return true;
        }
    });
→ Ссылка