Vì vậy, tôi có một nút trong ứng dụng của tôi và một văn bản. Khi tôi nhấp vào nút và viết một cái gì đó trong văn bản, một thay đổi văn bản thay đổi. Tất cả hoạt động như nó nên ngoại trừ một điều. Tôi phải bấm vào nút hai lần để làm cho nó hoạt động (chỉ lần đầu tiên tôi mở hoạt động). Lần đầu tiên sau khi tôi mở hoạt động, tôi nhấn nút và không có gì xảy ra, sau đó nó hoạt động như nó cần.Tôi phải bấm vào nút hai lần để nó hoạt động
Tôi đã nghiên cứu về điều này và theo như tôi biết điều gây rắc rối là tập trung, nhưng tôi đã thử một vài điều và không có gì hiệu quả.
mã XMLButton:
<Button
android:id="@+id/submitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText1"
android:layout_alignBottom="@+id/editText1"
android:layout_alignLeft="@+id/checkBox25"
android:text="@string/addMaterial"
android:onClick="submitQuantityButton" >
</Button>
mã XML EditText:
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/spinner1"
android:ems="3"
android:inputType="number"
android:maxLength="3" >
</EditText>
Tôi đã cố gắng thêm android: focusableInTouchMode = "false" để nút XML, tôi cũng đã cố gắng thêm requestFocus nút XML và nó vẫn không hoạt động. Tôi cũng đã xóa requestFocus khỏi edittext và nó không hoạt động. Tôi đang hết ý tưởng những gì khác để thử. phương pháp
onClick:
public void submitQuantityButton (View v){
Button submitButton = (Button)findViewById(R.id.submitButton);
final Spinner sItems = (Spinner)findViewById(R.id.spinner1);
final Context context = this;
final CheckBox cb4 = (CheckBox) findViewById(R.id.checkBox4);
final CheckBox cb5 = (CheckBox) findViewById(R.id.checkBox5);
final CheckBox cb33 = (CheckBox) findViewById(R.id.checkBox33);
final CheckBox cb30 = (CheckBox) findViewById(R.id.checkBox30);
final CheckBox cb6 = (CheckBox) findViewById(R.id.checkBox6);
final CheckBox cb7 = (CheckBox) findViewById(R.id.checkBox7);
final CheckBox cb9 = (CheckBox) findViewById(R.id.checkBox9);
final CheckBox cb10 = (CheckBox) findViewById(R.id.checkBox10);
final CheckBox cb11 = (CheckBox) findViewById(R.id.checkBox11);
final CheckBox cb12 = (CheckBox) findViewById(R.id.checkBox12);
//
final AlertDialog.Builder emptyETextErrorBuilder = new AlertDialog.Builder(context);
emptyETextErrorBuilder.setTitle("Warning");
emptyETextErrorBuilder.setMessage("Please enter a value before pressing this button");
emptyETextErrorBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final int position = sItems.getSelectedItemPosition();
EditText quantityEditText = (EditText)findViewById(R.id.editText1);
switch (position){
case 0:
AlertDialog.Builder spinnerErrorBuilder = new AlertDialog.Builder(context);
spinnerErrorBuilder.setTitle("Warning");
spinnerErrorBuilder.setMessage("Please choose an item from the list above and then enter a certain value");
spinnerErrorBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog spinnerError = spinnerErrorBuilder.create();
spinnerError.show();
break;
case 1:
String item1 = quantityEditText.getText().toString();
if (item1.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb4.setText("Elaborate Totem (" + item1 + "/250)");
}
break;
case 2:
String item2 = quantityEditText.getText().toString();
if (item2.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb5.setText("Pile of Crystalline Dust (" + item2 + "/250)");
}
break;
case 3:
String item3 = quantityEditText.getText().toString();
if (item3.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb33.setText("Pile of Crystalline Dust (" + item3 + "/250)");
}
break;
case 4:
String item4 = quantityEditText.getText().toString();
if (item4.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb30.setText("Pile of Crystalline Dust (" + item4 + "/250)");
}
break;
case 5:
String item5 = quantityEditText.getText().toString();
if (item5.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb6.setText("Powerful Venom Sac (" + item5 + "/250)");
}
break;
case 6:
String item6 = quantityEditText.getText().toString();
if (item6.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb7.setText("Vial of Powerful Blood (" + item6 + "/250)");
}
break;
case 7:
String item7 = quantityEditText.getText().toString();
if (item7.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb9.setText("Ancient Bone (" + item7 + "/250)");
}
break;
case 8:
String item8 = quantityEditText.getText().toString();
if (item8.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb10.setText("Armored Scale (" + item8 + "/250)");
}
break;
case 9:
String item9 = quantityEditText.getText().toString();
if (item9.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb11.setText("Vicious Claw (" + item9 + "/250)");
}
break;
case 10:
String item10 = quantityEditText.getText().toString();
if (item10.matches(""))
{
AlertDialog emptyETextError = emptyETextErrorBuilder.create();
emptyETextError.show();
}
else
{
cb12.setText("Vicious Fang (" + item10 + "/250)");
}
break;
}
}
});
}
Khi bạn nói một vài điều, bạn đã cố gắng xóa tiêu điểm chưa? – Evilunclebill
vâng, tôi đã thử điều đó nhưng tôi quên đề cập đến nó trong câu hỏi – Guy
Chờ, tôi nên thử làm rõ nét ở đâu? Tôi chỉ thử thêm nó vào edittext trong tập tin XML. – Guy