gpt4 book ai didi

java - 文本字段不会填充

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:21 24 4
gpt4 key购买 nike

我已经编写了一个小型 Android 应用程序来进行练习,但是当我使用完 EditText 字段后,其他文本字段不会填充。找不到问题

package com.zschiff.invoice;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import java.text.NumberFormat;

public class invoice_total_activity extends Activity
implements OnEditorActionListener {
// define the private widget variables
private EditText subtotalEditText;
private TextView discountPercentText;
private TextView discountTextView;
private TextView totalTextView;

//define the instance variables
private String subtotalString;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_invoice_total_activity);

//create link to layout
subtotalEditText = (EditText) findViewById(R.id.subtotalAmountEditText);
discountPercentText = (TextView) findViewById(R.id.discountPercent);
discountTextView = (TextView) findViewById(R.id.discountAmount);
totalTextView = (TextView) findViewById(R.id.totalAmount);

//set the listeners
subtotalEditText.setOnEditorActionListener(this);
}

public void calculateAndDisplay() {

//get the subtotal
subtotalString = subtotalEditText.getText().toString();
float subtotal;

if (subtotalString.equals("")) {
subtotal = 0;
}
else {
subtotal = Float.parseFloat(subtotalString);
}

// get discount percent
float discountPercent;
if (subtotal >= 200) {
discountPercent = .2f;
}
else if (subtotal >= 100) {
discountPercent = .1f;
}

else {
discountPercent = 0;
}


//calculate discount
float discountAmount = subtotal * discountPercent;
float total = subtotal - discountAmount;

//display results
NumberFormat percent = NumberFormat.getPercentInstance();
discountPercentText.setText(percent.format(discountPercent));

NumberFormat currency = NumberFormat.getCurrencyInstance();
discountTextView.setText(currency.format(discountAmount));
totalTextView.setText(currency.format(total));
}

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

calculateAndDisplay();

return false;
}
}

这是 Android 布局 xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.zschiff.invoice.invoice_total_activity">

<!-- Subtotal -->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/subtotal_label"
android:id="@+id/subtotalLabel"
android:textSize="20sp"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="7"
android:id="@+id/subtotalAmountEditText"
android:text="@string/subtotal_amount"
android:textSize="20sp"
android:layout_alignBottom="@id/subtotalLabel"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/subtotalLabel"
android:layout_toEndOf="@+id/subtotalLabel"
android:layout_marginLeft="100dp" />

<!-- Discount Percent -->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/discountPercentLabel"
android:text="@string/discount_label"
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@+id/subtotalLabel"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/discountPercent"
android:text="@string/discount_percent"
android:textSize="20sp"
android:layout_toRightOf="@+id/discountPercentLabel"
android:layout_alignBottom="@+id/discountPercentLabel"
android:layout_alignLeft="@+id/subtotalAmountEditText"
android:layout_alignStart="@+id/subtotalAmountEditText" />

<!-- Discount Amount -->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/discountAmountLabel"
android:text="@string/discount_amount_label"
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@+id/discountPercentLabel"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/discountAmount"
android:text="@string/discount_amount"
android:textSize="20sp"
android:layout_toRightOf="@id/discountAmountLabel"
android:layout_alignBottom="@+id/discountAmountLabel"
android:layout_alignLeft="@+id/discountPercent"
android:layout_alignStart="@+id/discountPercent" />

<!-- Total Amount -->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/totalLabel"
android:text="@string/total_label"
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@+id/discountAmountLabel"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/totalAmount"
android:text="@string/total_amount"
android:textSize="20sp"
android:layout_toRightOf="@id/totalLabel"
android:layout_alignBottom="@+id/totalLabel"
android:layout_alignLeft="@+id/discountAmount"
android:layout_alignStart="@+id/discountAmount" />
</RelativeLayout>

应用程序运行,并接受编辑文本,但之后没有任何反应,非常感谢任何帮助!!

最佳答案

在 EditText 字段中输入一些数字后按 Enter(如果您正在运行模拟器)。我输入了一个数字,按下 Enter 键,然后得到以下内容...... enter image description here

关于java - 文本字段不会填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35994724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com