Android项目问题

时间:2010-05-27 14:37:00

标签: android eclipse

here

我上传了我在Eclipse中制作的Android项目。我的想法是我有一个服务,它计算两个随机数的总和。但是当我按下OK按钮时,我看不到该编辑框中的结果......为什么?我做错了什么?请帮忙

谢谢!

编辑:代码:

//服务类

 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>

3 个答案:

答案 0 :(得分:0)

您是否在清单中指定了您希望将ApplicationSum用作应用程序类?

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

答案 1 :(得分: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;
}

答案 2 :(得分:0)

此修复程序将起作用:

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

没有它你传递整数并且android认为它是要显示的资源的id。您应该使用DDMS来识别此类问题。