我用android studio制作了一个应用程序,数钱。 第一行是1美分,secont排是2美分。
theres a picture how it should be
everithing is fine until i got the counter to 35, then my total money makes something stupid
我不知道为什么.. 这只是我的钱的两倍
第二行尚未完成,首先我想知道为什么我的第一行不起作用
继承我的代码:
package com.tom.dennis.kassensturz;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class kasse_geld_eingeben extends AppCompatActivity {
public double geld=0;
//money
private int cent_ein;
private int cent_zwei;
//EditText views
private EditText textout_cent_ein;
private EditText textout_cent_zwei;
private TextView textout_geld;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kasse_geld_eingeben);
textout_cent_ein=(EditText)findViewById(R.id.ausgabe_cent_ein);
textout_cent_zwei=(EditText)findViewById(R.id.ausgabe_cent_zwei);
textout_geld=(TextView)findViewById(R.id.geld_ausgabe);
textout_cent_ein.addTextChangedListener(mTextEditorWatcher); // sollte jetzt watchen
}
private final TextWatcher mTextEditorWatcher = new TextWatcher() //hmm
{
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try
{
cent_ein = Integer.parseInt(textout_cent_ein.getText().toString()); // wandelt meinen string in int um
geld=geld_ausrechnen();
textout_geld.setText(String.valueOf(geld));
} catch(NumberFormatException nfe)
{ // fängt fehler ab
System.out.println("Could not parse " + nfe);
}
}
@Override
public void afterTextChanged(Editable s)
{
}
};
private double geld_ausrechnen()
{
double betrag;
betrag=cent_ein*0.01+cent_zwei*0.02;
return betrag;
}
@Override
public View findViewById(int id) {
return super.findViewById(id);
}
public void afterTextChanged(Editable s)
{
}
public void buttonOnClick_geld_plus_cent_ein(View V) {
cent_ein = cent_ein + 1;
textout_cent_ein.setText(String.valueOf(cent_ein));
textout_geld.setText(String.valueOf(geld));
}
public void buttonOnClick_geld_minus_cent_ein(View V)
{
cent_ein=cent_ein-1;
textout_cent_ein.setText(String.valueOf(cent_ein));
textout_geld.setText(String.valueOf(geld));
}
public void buttonOnClick_geld_plus_cent_zwei(View V) {
cent_zwei = cent_zwei + 1;
textout_cent_zwei.setText(String.valueOf(cent_zwei));
geld = geld + 0.02;
textout_geld.setText(String.valueOf(geld));
}
public void buttonOnClick_geld_minus_cent_zwei(View V)
{
cent_zwei=cent_zwei-1;
geld=geld-0.02;
textout_cent_zwei.setText(String.valueOf(cent_zwei));
textout_geld.setText(String.valueOf(geld));
}
}
并且我的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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.tom.dennis.kassensturz.kasse_geld_eingeben">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/geld_zeile">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Kassen inhalt:"
android:id="@+id/gesamtes_geld"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="122"
android:id="@+id/geld_ausgabe"
android:layout_toRightOf="@+id/gesamtes_geld"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="€"
android:id="@+id/euro_zeichen"
android:layout_toRightOf="@+id/geld_ausgabe"
/>
</RelativeLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView"
android:layout_below="@+id/geld_zeile">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/cent_ein">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/bild_cent_ein"
android:src="#050505"
/>
<!-- inputType und ems damit nur zahlen eingegeben werden können -->
<EditText
android:layout_width="0dp"
android:minWidth="100dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/ausgabe_cent_ein"
android:layout_weight=".30"
android:editable="false" />
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="+"
android:id="@+id/button_geld_plus_cent_ein"
android:onClick="buttonOnClick_geld_plus_cent_ein" />
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="-"
android:id="@+id/button_geld_minus_cent_ein"
android:layout_toRightOf="@+id/button_geld_plus_cent_ein"
android:onClick="buttonOnClick_geld_minus_cent_ein" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/cent_zwei"
android:layout_below="@id/cent_ein"
android:paddingTop="10dp">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/bild_cent_zwei"
android:src="#050505"
/>
<!-- inputType und ems damit nur zahlen eingegeben werden können -->
<EditText
android:layout_width="match_parent"
android:minWidth="260dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/ausgabe_cent_zwei"
android:layout_weight=".4"
android:editable="false" />
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="+"
android:id="@+id/button_geld_plus_cent_zwei"
android:onClick="buttonOnClick_geld_plus_cent_zwei" />
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="-"
android:id="@+id/button_geld_minus_cent_zwei"
android:layout_toRightOf="@+id/button_geld_plus_cent_ein"
android:onClick="buttonOnClick_geld_minus_cent_zwei" />
</LinearLayout>
<!--
<LinearLayout
android:layout_below="@id/cent_ein"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/bild_cent_zwei"
android:src="#050505"
android:layout_below="@+id/cent_ein"
/>
<EditText
android:layout_width="0dp"
android:minWidth="100dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:layout_weight=".30"
android:editable="false"
android:id="@+id/ausgabe_cent_zwei"
/>
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="+"
android:id="@+id/button_geld_plus_cent_zwei"
/>
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="-"
android:id="@+id/button_geld_minus_cent_zwei"
/>
</LinearLayout>-->
</RelativeLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)