Gradeaverage应用程序无法启动

时间:2012-02-05 14:04:25

标签: java android eclipse emulation average

我正在努力制作这个计算你的平均成绩的应用程序(基于瑞典等级系统),我已经制作了图形布局并在eclipse中编写了我认为正确的java代码,但是当我尝试启动它时在模拟器中它不会工作。该应用程序启动,但它只是一个黑屏。这是我的第一个应用程序和我的第一个编程项目,所以我真的不知道我做错了什么。

它应该是三个edittexts,你把你的点数与一个等级(我们有三个等级),然后它应该将点数乘以10,15或20,具体取决于它的等级和然后除以总点数。我不知道这是否有意义,但最大等级应该是20(所有mvgs)。我在C#中创建了一个类似的应用程序并且它可以正常工作,但我猜测在android和java方面做的事情有点不同。

package com.dlol.gradeaverage;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class GradeaverageActivity extends Activity {

EditText editText1, editText2, editText3;
String gtext, vgtext, mvgtext, str;
Double gpoäng, vgpoäng, mvgpoäng;
Double gvärde, vgvärde, mvgvärde;
Double allapoäng, allavärde;
Double snittbetyg;
Button button1;



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);    

 editText1 = (EditText)findViewById(R.id.editText1); 
 editText2 = (EditText)findViewById(R.id.editText2); 
 editText3 = (EditText)findViewById(R.id.editText3); 

 gtext = editText1.getText().toString();
 vgtext = editText2.getText().toString();
 mvgtext = editText3.getText().toString();

 gpoäng = Double.parseDouble(gtext);
 vgpoäng = Double.parseDouble(vgtext);
 mvgpoäng = Double.parseDouble(mvgtext);

 gvärde = gpoäng*10;
 vgvärde = vgpoäng*15;
 mvgvärde = mvgpoäng*20;

 allapoäng = (gpoäng + vgpoäng + mvgpoäng);
 allavärde = (gvärde + vgvärde + mvgvärde);

 snittbetyg = (allavärde / allapoäng);
 str = "Ditt snitt är " + snittbetyg;

 button1 = (Button)findViewById(R.id.button1);  

 button1.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {
         Toast.makeText(getBaseContext(), str,
                 Toast.LENGTH_SHORT).show();
     }
});
}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/info_text_G" 
    android:textSize="16sp">
</TextView>

<EditText 
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="text">        
</EditText>/

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/info_text_VG" 
    android:textSize="16sp" />

 <EditText 
    android:id="@+id/editText2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="text">        
</EditText>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/info_text_MVG" 
    android:textSize="16sp">        
</TextView>

<EditText 
    android:id="@+id/editText3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="text">        
</EditText>

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/Button" />

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, GradeaverageActivity!</string>
<string name="app_name">Gradeaverage</string>
<string name="info_text_G">Skriv in antal G-poäng</string>
<string name="info_text_VG">Skriv in antal VG-poäng</string>
<string name="info_text_MVG">Skriv in antal MVG-poäng</string>
<string name="Button">Räkna ut snitt!</string>
</resources>

02-05 17:07:06.184:D / AndroidRuntime(1230):关闭VM 02-05 17:07:06.184:W / dalvikvm(1230):threadid = 3:线程退出未捕获异常(组= 0x4000fe70) 02-05 17:07:06.184:E / AndroidRuntime(1230):未捕获的处理程序:由于未捕获的异常导致主线程退出 02-05 17:07:06.194:E / AndroidRuntime(1230):java.lang.RuntimeException:无法启动活动ComponentInfo {com.dlol.gradeaverage / com.dlol.gradeaverage.GradeaverageActivity}:java.lang.NumberFormatException: 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread.access $ 1800(ActivityThread.java:112) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1692) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.os.Handler.dispatchMessage(Handler.java:99) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.os.Looper.loop(Looper.java:123) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread.main(ActivityThread.java:3948) 02-05 17:07:06.194:E / AndroidRuntime(1230):at java.lang.reflect.Method.invokeNative(Native Method) 02-05 17:07:06.194:E / AndroidRuntime(1230):at java.lang.reflect.Method.invoke(Method.java:521) 02-05 17:07:06.194:E / AndroidRuntime(1230):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:782) 02-05 17:07:06.194:E / AndroidRuntime(1230):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 02-05 17:07:06.194:E / AndroidRuntime(1230):at dalvik.system.NativeStart.main(Native Method) 02-05 17:07:06.194:E / AndroidRuntime(1230):引起:java.lang.NumberFormatException: 02-05 17:07:06.194:E / AndroidRuntime(1230):at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:258) 02-05 17:07:06.194:E / AndroidRuntime(1230):at java.lang.Double.parseDouble(Double.java:323) 02-05 17:07:06.194:E / AndroidRuntime(1230):at com.dlol.gradeaverage.GradeaverageActivity.onCreate(GradeaverageActivity.java:37) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 02-05 17:07:06.194:E / AndroidRuntime(1230):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) 02-05 17:07:06.194:E / AndroidRuntime(1230):... 11更多 02-05 17:07:06.225:I / dalvikvm(1230):threadid = 7:对信号3作出反应 02-05 17:07:06.244:I / dalvikvm(1230):将堆栈跟踪写入'/data/anr/traces.txt' 02-05 17:07:06.344:I / jdwp(1230):从ADB接收文件描述符24 02-05 17:07:06.354:W / System.err(1230):无法调度DDM块46454154:未定义处理程序 02-05 17:07:06.354:W / System.err(1230):无法调度DDM块4d505251:未定义处理程序

1 个答案:

答案 0 :(得分:1)

您获得了NumberFormatException,因为在您创建ActivityonCreate()方法)时,您已尝试解析EditText中的文字(您有emty text {{虽然您还没有输入任何数字,但是尝试将其解析为""将会Double。您必须移动用于计算按钮Exception上的成绩的代码,如下所示:

OnCLickListener