Tôi mới sử dụng Android nên xin lỗi nếu câu hỏi này rất dễ trả lời. Tôi có hai nút, một nút giảm và tăng, và ở giữa chúng một TextView hiển thị một giá trị.Liên tục tăng giá trị số nguyên khi nhấn nút
Khi tôi nhấn nút giảm, giá trị trong TextView giảm và tăng khi tôi nhấn nút tăng, không có vấn đề với điều đó, tôi nhận được rằng làm việc nhưng vấn đề là giá trị chỉ tăng/giảm 1 trên một nhấp chuột. Những gì tôi đang cố gắng đạt được là khi tôi liên tục nhấn nút (ví dụ như nút tăng), giá trị cũng liên tục tăng lên và chỉ dừng lại khi tôi nhả nút tăng.
Điều đó có khả thi không? Nếu có, bạn có thể hiển thị một số mã mẫu hoặc tham chiếu về cách triển khai không? Cảm ơn!
Đây là main.xml tôi
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="44dp"
android:gravity="center_horizontal" >
<Button android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="<" />
<TextView android:id="@+id/textView1"
android:layout_width="50dp"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:gravity="center"
android:text="45" />
<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/textView1"
android:text=">" />
</RelativeLayout>
</RelativeLayout>
và đây là Main.java tôi
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Main extends Activity {
private Button _decrease;
private Button _increase;
private TextView _value;
private static int _counter = 45;
private String _stringVal;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
_decrease = (Button) findViewById(R.id.button1);
_increase = (Button) findViewById(R.id.button2);
_value = (TextView) findViewById(R.id.textView1);
_decrease.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("src", "Decreasing value...");
_counter--;
_stringVal = Integer.toString(_counter);
_value.setText(_stringVal);
}
});
_increase.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("src", "Increasing value...");
_counter++;
_stringVal = Integer.toString(_counter);
_value.setText(_stringVal);
}
});
}
}
cảm ơn bạn, tôi chắc chắn sẽ thử điều này. :) – src
i theo hướng dẫn của bạn, tạo hàm 'increment()' và khai báo 'REP_DELAY', không có lỗi nhưng khi tôi nhấn nút tăng, giá trị tăng nhưng ngay cả khi tôi giải phóng nó, giá trị vẫn tăng và không dừng lại. Cùng đi với nút giảm. Tui bỏ lỡ điều gì vậy? – src
Xin lỗi, quên việc thêm onTouchListener, điều này sẽ xóa cờ tăng (tương tự cho giảm) - vui lòng xem mã cập nhật. – Yar