我想問一下如何設定我的付款方式是否為二維碼付款我想在輸入現金欄位中顯示二維碼以及付款方式下方的所有內容,如果是二維碼付款方式,則鍵盤將被隱藏。如果是現金支付方式,它將顯示輸入現金、更改和鍵盤。
https://imgur.com/a/nEUkgd2 這是我想要的結果,這張圖片是用未編碼的油漆編輯的
PaymentActivity.java
package com.tankarjian.it212n.a2910assingment;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.tankarjian.it212n.a2910assingment.roomDb.database.MyDb;
import com.tankarjian.it212n.a2910assingment.roomDb.database.TransactionRecord;
import java.util.List;
public class PaymentActivity extends AppCompatActivity {
double totalPrice = 0;
double totalTax = 0;
private List<Product> productList;;
Button button0, button1, button2, button3, button4, button5, button6,
button7, button8, button9, buttondecimal, buttonclear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment_activty);
TextView et_cash = (TextView) findViewById(R.id.et_cash);
button0 = (Button) findViewById(R.id.button0);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button5 = (Button) findViewById(R.id.button5);
button6 = (Button) findViewById(R.id.button6);
button7 = (Button) findViewById(R.id.button7);
button8 = (Button) findViewById(R.id.button8);
button9 = (Button) findViewById(R.id.button9);
buttondecimal = (Button) findViewById(R.id.buttondecimal);
buttonclear = (Button) findViewById(R.id.buttonclear);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "9");
}
});
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() "0");
}
});
buttonclear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText("");
}
});
buttondecimal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_cash.setText(et_cash.getText() ".");
}
});
if (getIntent() != null) {
totalPrice = getIntent().getDoubleExtra("TOTAL_PRICE", 0);
totalTax = getIntent().getDoubleExtra("TOTAL_TAX", 0);
productList = (List<Product>) getIntent().getSerializableExtra("LIST");
}
TextView tvTotalAmount = findViewById(R.id.tv_total_amount);
tvTotalAmount.setText(String.valueOf(totalPrice totalTax));
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(PaymentActivity.this,
android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.spinner));
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(myAdapter);
TextView etCash = findViewById(R.id.et_cash);
findViewById(R.id.btn_calculate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String cashString = etCash.getText().toString();
if (cashString != null && !cashString.isEmpty()) {
double cash = Double.parseDouble(cashString);
if (cash >= totalPrice) {
double payableAmount = cash - totalPrice - totalTax;
TextView tvPayable = findViewById(R.id.tv_return_amount);
tvPayable.setText(String.valueOf(payableAmount));
saveTransactionToDatabase();
} else {
Toast.makeText(PaymentActivity.this, "Please enter the cash more than amount", Toast.LENGTH_SHORT).show();
}
} else
Toast.makeText(PaymentActivity.this, "Please enter an amount", Toast.LENGTH_SHORT).show();
}
});
findViewById(R.id.btn_history).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(PaymentActivity.this, HistoryActivity.class));
}
});
}
private void saveTransactionToDatabase() {
long date = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
if (productList != null)
for (int i = 0; i < productList.size(); i ) {
sb.append(productList.get(i).name);
sb.append(" ,");
}
TransactionRecord transactionRecord = new TransactionRecord(sb.toString(), date, String.valueOf(totalPrice));
MyDb myDb = MyDb.getInstance(PaymentActivity.this);
myDb.myDao().addRecord(transactionRecord);
}
}
uj5u.com熱心網友回復:
試試這個答案:
spinner1.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItem = parent.getItemAtPosition(position).toString();
if(selectedItem.equals("qr payment method"))
{
// Keybord hide
} else {
// keybord show
}
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340891.html
上一篇:“21天好習慣”第一期——5
下一篇:Toast和廣播接收器不起作用
