2010-05-27 82 views
0

hereAndroid項目問題

我上傳了我在Eclipse中製作的Android項目。這個想法是,我有一個服務,計算兩個隨機數的總和。但是當我按下確定按鈕時,我在該編輯框中看不到結果...爲什麼?我做錯了什麼?請幫忙

謝謝!

編輯:代碼:

//服務類

package service; 

import java.util.Random; 
import com.android.AplicatieSuma; 
import android.widget.EditText; 
import android.widget.TextView; 

public class ServiciuSuma 
{ 
    public ServiciuSuma() { } 

    public int CalculateSum() 
    { 
     Random generator=new Random(); 
     int n=generator.nextInt(); 
     int m=generator.nextInt(); 
     return n+m; 
    } 
} 

的應用類:

package com.android; 
import android.app.*; 
import service.*; 

public class ApplicationSum extends Application { 
    public ServiciuSuma service = new ServiciuSuma(); 
} 

和主Activity類:

package com.android; 

import com.android.R; 

import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Color; 
import android.graphics.PorterDuffColorFilter; 
import android.graphics.drawable.Drawable; 
import android.graphics.PorterDuff; 
import android.os.Bundle; 
import android.provider.Settings; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.EditText; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 

public class Activitate extends Activity { 

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

     View btn_ok = findViewById(R.id.btn_ok); 
     btn_ok.setOnClickListener(new OnClickListener() 
      { 
       public void onClick(View v) 
       { 
        CalculeazaSuma();     
       } 
      }); 
    } 


    private void CalculeazaSuma() 
    { 
     AplicatieSuma appState = ((AplicatieSuma)this.getApplication()); 
     EditText txt_amount = (EditText)findViewById(R.id.txt_amount); 
     txt_amount.setText(appState.service.CalculateSum()); 
     //BindData(); 
    } 
} 

使編輯文字呢不顯示服務隨機生成的數字的總和。怎麼了?

感謝

編輯:

清單xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.android" 
     android:versionCode="1" 
     android:versionName="1.0.1"> 
     <supports-screens 
      android:largeScreens="true" 
      android:normalScreens="true" 
      android:smallScreens="true" 
      android:anyDensity="true" /> 

    <application android:name="ApplicationSum" android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> 
     <activity android:label="@string/app_name" android:name=".Activitate"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
</application> 
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" /> 
</manifest> 
+1

如果您可以在這裏發佈代碼片段,而不是在某處上傳項目,您可以期待更多的答案。 – primpap 2010-05-27 14:41:01

+1

您需要至少發佈一段代碼。今天我的水晶球破了。 – chr 2010-05-27 14:41:37

+0

嘗試在CalculeazaSuma()中使用txt_amount.setText(「Test string」)並查看該按鈕是否激活該按鈕。這是縮小EditText或服務無法工作的一種方法。 – HXCaine 2010-05-27 15:46:36

回答

0

此修復程序將工作:

txt_amount.setText(String.valueOf(appState.service.CalculateSum())); 

沒有您傳遞整數和Android認爲這是一種資源來顯示的ID。你應該真的使用DDMS來識別這些問題。

0

有你想要ApplicationSum用作應用程序類清單規定?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
    <application 
     android:name="com.android.ApplicationSum"> 
     ... 
    </application> 
</manifest> 
+0

是的(我編輯了第一篇文章).. – qwerty 2010-05-27 16:35:27

0

這工作?

public String CalculateSum() 
{ 
    Random generator=new Random(); 
    int n=generator.nextInt(); 
    int m=generator.nextInt(); 

    String sum = Integer.toString(n+m) ; 

    Log.v("CalculateSum", "N+M = " + sum); 

    return sum; 
} 
+0

String sum = n + m?不能從int轉換爲字符串.. – qwerty 2010-05-27 16:45:27

+0

但是,首先,如何確保這些數字是真正生成的,我怎樣才能看到它們? – qwerty 2010-05-27 16:46:04

+0

檢查編輯。如果您不知道日誌行的含義,請在google上搜索「adb logcat」 – HXCaine 2010-05-27 16:53:13