2017-08-12 49 views
-1

将一个活动的添加结果传递给另一个活动我创建了一个名为SplashActivity的类。我在此活动中添加了两个数字。我想在下一个活动中显示答案,但它不显示在那里。我创建了两个EditText字段,然后是一个按钮。当按钮被点击时,新的活动应该开始并且应该显示该添加的答案。如何通过android

EditText e=(EditText)findViewById(R.id.editText3); 
    EditText e2=(EditText)findViewById(R.id.editText4);` 
    int num1=Integer.parseInt(e.getText().toString()); 
    int num2=Integer.parseInt(e2.getText().toString()); 
    int sum=num1+num2; 
    Intent in=new Intent(this,SecondSplash.class); 
    in.putExtra("value",sum); 
    startActivity(in); 

及其XML是

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.sammar.firstapplication.SplashActivity" 
    android:background="@drawable/background"> 

    <EditText 
     android:id="@+id/editText3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="76dp" 
     android:ems="10" 
     android:inputType="numberSigned" 
     android:hint="Enter First Number"/> 

    <EditText 
     android:id="@+id/editText4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="24dp" 
     android:ems="10" 
     android:inputType="numberSigned" 
     android:hint="Enter Second Number" 
     android:layout_below="@+id/editText3" 
     android:layout_alignStart="@+id/editText3" /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginStart="46dp" 
     android:onClick="onButtonClick" 
     android:text="ADD" 
     android:layout_above="@+id/button6" 
     android:layout_alignParentStart="true" 
     android:layout_marginBottom="51dp" /> 

这是SecondActivity的代码。在这个活动中,我创建了一个接收数据的包。

TextView txtView; 
    String value; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second_splash); 

     Bundle b=getIntent().getExtras(); 
     if(b!=null) 
     { 
      value=b.getString("value"); 
     } 
     txtView =(TextView)findViewById(R.id.textView2); 
     //value=getIntent().getExtras().getString("value"); 
     txtView.setText(value); 

和XML是

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.sammar.firstapplication.SecondSplash"> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginStart="132dp" 
     android:layout_marginTop="191dp" 
     /> 
</RelativeLayout> 

我不能让第二活性和的值。请帮助enter code here

回答

0
value=b.getInt("value"); 

类型总和的是INT和不字符串

+0

我是否还需要在fristactivity解析总和为String? –

+0

txtView.setText(value);需要一个字符串 –

0

把里面的onClick喜欢你的意图,

button.setOnClickListner(new OnClickListner) 
{ 
    @override OnClick() 
    { 
     Intent in=new Intent(this,SecondSplash.class); 
     in.putExtra("value",String.valueOf(sum)); 
     startActivity(in); 
    } 
} 

更改代码

Bundle b=getIntent().getExtras(); 
    if(b!=null) 
    { 
     value=b.getString("value"); 
    } 

String value = getIntent().getStringExtra("value"); 
+0

我改变了代码,但它仍然没有工作 –

+0

检查我编辑的ans ... in.putExtra()行 –