Проблема проекта Android - PullRequest
0 голосов
/ 27 мая 2010

здесь

Я загрузил свой проект Android, созданный в Eclipse. Идея в том, что у меня есть сервис, который вычисляет сумму двух случайных чисел. Но когда я нажимаю кнопку 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();
}

и основной класс занятий:

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();
    }
}

Так что текст редактирования не показывает сумму случайно сгенерированных чисел службой. Что не так?

Спасибо

EDIT:

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 голосов
/ 27 мая 2010

Это работает?

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 голосов
/ 28 мая 2010

Это исправление будет работать:

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

Без этого вы передаете целое число, и Android считает, что это идентификатор ресурса для отображения. Вы должны действительно использовать DDMS для выявления таких проблем.

0 голосов
/ 27 мая 2010

Указали ли вы в манифесте, что вы хотите, чтобы ApplicationSum использовался в качестве класса приложения?

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application 
        android:name="com.android.ApplicationSum">
        ...
    </application>
</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...