私の友人のために、ボタンのonClickの合計が1ずつ増えるシンプルなカウンターアプリを作成しようとしています。ボタンがクリックされたときに強制的に閉じて、数学ロジックを実行しているはずです。LogCatのエラーの理由は、私にはまったく明らかです。私がJava/Androidで数学を試みたのはこれが初めてです(はい、私は初心者です)私は、Imが値を適切に処理または宣言するか、あるいはこの方法でそれを行うことが可能かどうかさえ完全にはわかりません。多くの例を見ましたが、それらはすべて私が本当に探しているものよりも複雑で、素晴らしくて単純なようです。(私の研究からの)二次的な質問として、そして私自身の検証のために、doubleは小数をとることができる値ですが、intは整数ですか?それらが両方とも整数である(つまり、doubleに小数が含まれていない)限り、それらを互いに置き換えることができますか(intの代わりにdoubleを使用し、その逆も可能です)?
コード
public class CounterActivity extends Activity
{
TextView tt;
Button calculate;
double x=1; //Known value to be increased by
double z=0; //The total to increase incrementally
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tt=(TextView)findViewById(R.id.tt);
calculate=(Button)findViewById(R.id.calculate);
calculate.setOnClickListener(OnClickListener);
}
Button.OnClickListener OnClickListener = new Button.OnClickListener() {
public void onClick (View calculate) {
x=Double.parseDouble("x"); //Dont believe these are set properly
z=Double.parseDouble("z");
z=x+z; //The basic loop to run onClick
tt.setText(Double.toString(z));
}
};
}
LogCat
12-16 15:58:52.194: W/dalvikvm(382): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
12-16 15:58:52.194: E/AndroidRuntime(382): Uncaught handler: thread main exiting due to uncaught exception
12-16 15:58:52.214: E/AndroidRuntime(382): java.lang.NumberFormatException:
12-16 15:58:52.214: E/AndroidRuntime(382): at org.apache.harmony.luni.util.FloatingPointParser.parseDblImpl(Native Method)
12-16 15:58:52.214: E/AndroidRuntime(382): at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:283)
12-16 15:58:52.214: E/AndroidRuntime(382): at java.lang.Double.parseDouble(Double.java:285)
12-16 15:58:52.214: E/AndroidRuntime(382): at jtek.industries.com.CounterActivity.calculate(CounterActivity.java:37)
12-16 15:58:52.214: E/AndroidRuntime(382): at jtek.industries.com.CounterActivity.access$0(CounterActivity.java:35)
12-16 15:58:52.214: E/AndroidRuntime(382): at jtek.industries.com.CounterActivity$1.onClick(CounterActivity.java:33)
12-16 15:58:52.214: E/AndroidRuntime(382): at android.view.View.performClick(View.java:2364)
12-16 15:58:52.214: E/AndroidRuntime(382): at android.view.View.onTouchEvent(View.java:4179)
12-16 15:58:52.214: E/AndroidRuntime(382): at android.widget.TextView.onTouchEvent(TextView.java:6541)
12-16 15:58:52.214: E/AndroidRuntime(382): at android.view.View.dispatchTouchEvent(View.java:3709)
少し方向性をいただければ幸いです。もっと複雑なことに飛び込む前に、基本を理解する必要があります:)