簡體   English   中英

我無法將int值從一項活動轉移到另一項活動

[英]I can't transfer int value from one activity to another

在第一個活動中,我有一個代數運算,我需要將結果從第一個活動傳遞到第二個活動。 我發現了我發現的所有東西,但是我是一名Android初學者,所以我找不到真正的問題。

這是第一個活動:

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class Contar extends MainActivity{

public EditText et1, et2, et3;
public TextView tv1;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contar);

    et1=(EditText)findViewById(R.id.et1);
    et2=(EditText)findViewById(R.id.et2);
    et3=(EditText)findViewById(R.id.et3);
    tv1=(TextView)findViewById(R.id.tv1);
}

public void contarbesos(View view){

    String meses=et1.getText().toString();
    String bd=et2.getText().toString();
    String dsvs=et3.getText().toString();

    int nro1=Integer.parseInt(meses);
    int nro2=Integer.parseInt(bd);
    int nro3=Integer.parseInt(dsvs);

    int sm=4;
    int dsvm;
    int dvm;
    int dr;
    int besos;
    int dsv;

    dr=nro1*30;

    dsv=nro3*sm;

    dsvm=nro1*dsv;
    dvm=dr-dsvm;
    besos=dvm*nro2;

    Intent i = new Intent(this, Resultado.class );
    i.putExtra("besos", besos);
    startActivity(i);


    }
}

第二項活動:

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Resultado extends Contar {

public TextView tv1;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.resultado);

    tv1=(TextView)findViewById(R.id.tv1);

    Bundle bundle = getIntent().getExtras();
    String  intValue = bundle.getString("besos");
    tv1.setText(intValue);


}

}

以及logcat中的錯誤(已更新):

07-13 23:40:14.084: E/AndroidRuntime(768): FATAL EXCEPTION: main
07-13 23:40:14.084: E/AndroidRuntime(768): java.lang.RuntimeException: Unable to start activity ComponentInfo{whao.whaoapps.kisscounter/whao.whaoapps.kisscounter.Resultado}: android.content.res.Resources$NotFoundException: String resource ID #0x30c
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.os.Looper.loop(Looper.java:137)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread.main(ActivityThread.java:5039)
07-13 23:40:14.084: E/AndroidRuntime(768):  at java.lang.reflect.Method.invokeNative(Native Method)
07-13 23:40:14.084: E/AndroidRuntime(768):  at java.lang.reflect.Method.invoke(Method.java:511)
07-13 23:40:14.084: E/AndroidRuntime(768):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-13 23:40:14.084: E/AndroidRuntime(768):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-13 23:40:14.084: E/AndroidRuntime(768):  at dalvik.system.NativeStart.main(Native Method)
07-13 23:40:14.084: E/AndroidRuntime(768): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x30c
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.content.res.Resources.getText(Resources.java:230)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.widget.TextView.setText(TextView.java:3640)
07-13 23:40:14.084: E/AndroidRuntime(768):  at whao.whaoapps.kisscounter.Resultado.onCreate(Resultado.java:20)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.Activity.performCreate(Activity.java:5104)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
07-13 23:40:14.084: E/AndroidRuntime(768):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
07-13 23:40:14.084: E/AndroidRuntime(768):  ... 11 more

“ besos”是一個int。 您必須使用getInt (String key, int defaultValue)來獲取其值。

int intValue = bundle.getInt("besos", 0);
tv1.setText(String.valueOf(intValue));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM