изменить текст при нажатии кнопки
Есть кнопка которая при нажатии издаёт звук, но при долгом нажатии открывает активити, я попытался вставить код для изменения текста при нажатии кнопки, но вместо этого 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;
}
});