2017-02-14 95 views
-1

我想通過意圖發送兩個textview。我正在發送意圖,但我沒有得到理想的結果。我得到兩個$ 12.99作爲我的輸出。爲什麼不顯示披薩的名字?請幫忙。我想獲得我的披薩名稱,然後在我的應用程序中對一行進行定價。這裏是我的代碼: XML我的意圖活動

<TextView android:id="@+id/pizza1" 
      android:layout_width="200dp" 
      android:layout_height="wrap_content" 
      android:text="Mr. Meat Lover Pizza" 
      android:textSize="25dp" 
      android:textColor="#2c2349" /> 
<TextView android:id="@+id/price1" 
      android:layout_width="150dp" 
      android:layout_height="wrap_content" 
      android:background="@drawable/rectangle" 
      android:text="$12.99+" 
      android:textColor="#2c2349" 
      android:layout_alignParentEnd="true" 
      android:paddingStart="15dp" 
      android:textSize="25dp" /> 
<Button android:id="@+id/ckeckout1" 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/rectangle" 
     android:text="Add to Cart" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/price1" 
     android:textColor="#2c2349" 
     android:backgroundTint="#ff00" 
     android:layout_alignParentEnd="true" 
     android:textSize="15dp" /> 


<LinearLayout android:id="@+id/layout4" 
       android:layout_below="@+id/layout3" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

    <TextView android:id="@+id/textview1" 
       android:textSize="20dp" 
       android:layout_width="230dp" 
       android:layout_height="wrap_content" /> 
    <TextView android:id="@+id/textview2" 
       android:textSize="20dp" 
       android:layout_width="130dp" 
       android:layout_height="wrap_content" /> 
</LinearLayout> 

JAVA

TextView1 = (TextView) findViewById(R.id.pizza1); 
TextView2 = (TextView) findViewById(R.id.price1); 

我得到的意圖是:

Intent intent1 = new Intent(SplPizzas.this, Cart.class); 
String message1 = TextView1.getText().toString(); 
intent1.putExtra(Message1, message1); 
String message2 = TextView2.getText().toString(); 
intent1.putExtra(Message2, message2); 
startActivity(intent1); 
break; 

活動2

Intent intent = getIntent(); 
String message1 = intent.getStringExtra(SplPizzas.Message1); 
String message2 = intent.getStringExtra(SplPizzas.Message2); 
TextView output1 = (TextView) findViewById(R.id.textview1); 
output1.setText(message1); 
TextView output2 = (TextView) findViewById(R.id.textview2); 
output2.setText(message2); 
+2

你應該格式化你的代碼比這更好,其次你不能發送'TextViews'作爲Intents。 –

回答

0

@ferrari你寫的方式代碼有點terribl e:P


我把它格式化了一下,它運行在我的最後。

一樣多,我能猜到我想你已經錯誤地分配相同的「串」到你的SplPizzas.Message1和SplPizzas.Message2。
這就是爲什麼你得到相同的價值,即在這兩種情況下12.99美元。
請確認。

Screen One

Screen Two - Cart


下面是代碼:

MainActivity.java - > SplPizzas.java從您的代碼

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    public static String MESSAGE1 = "msg1"; 
    public static String MESSAGE2 = "msg2"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void startNextActivity(View view){ 
     TextView TextView1 = (TextView) findViewById(R.id.pizza1); 
     TextView TextView2 = (TextView) findViewById(R.id.price1); 

     Intent intent1 = new Intent(MainActivity.this, Main2Activity.class); 

     String message1 = TextView1.getText().toString(); 
     intent1.putExtra(MESSAGE1, message1); 

     String message2 = TextView2.getText().toString(); 
     intent1.putExtra(MESSAGE2, message2); 

     startActivity(intent1); 
    } 
} 

Main2Activity.java - > Cart.java從您的代碼

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class Main2Activity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 

     Intent intent = getIntent(); 

     String message1 = intent.getStringExtra(MainActivity.MESSAGE1); 
     String message2 = intent.getStringExtra(MainActivity.MESSAGE2); 

     TextView output1 = (TextView) findViewById(R.id.textview1); 
     output1.setText(message1); 

     TextView output2 = (TextView) findViewById(R.id.textview2); 
     output2.setText(message2); 
    } 
} 

activity_main.xml中 - >你的代碼的第一個屏幕

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="in.proged.mytempapp2.MainActivity"> 

    <TextView 
     android:id="@+id/pizza1" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:text="Mr. Meat Lover Pizza" 
     android:textSize="25dp" 
     android:textColor="#2c2349"/> 
    <TextView 
     android:id="@+id/price1" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:text="$12.99+" 
     android:textColor="#2c2349" 
     android:layout_alignParentEnd="true" 
     android:paddingStart="15dp" 
     android:textSize="25dp"/> 
    <Button 
     android:id="@+id/ckeckout1" 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:text="Add to Cart" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/price1" 
     android:textColor="#2c2349" 
     android:backgroundTint="#ff00" 
     android:layout_alignParentEnd="true" 
     android:textSize="15dp" 
     android:onClick="startNextActivity"/> 

</RelativeLayout> 

activity_main2 .xml - >您的代碼的第二個屏幕

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main2" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="in.proged.mytempapp2.Main2Activity"> 

    <LinearLayout 
     android:id="@+id/layout4" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/textview1" 
      android:textSize="20dp" 
      android:layout_width="230dp" 
      android:layout_height="wrap_content"/> 
     <TextView 
      android:id="@+id/textview2" 
      android:textSize="20dp" 
      android:layout_width="130dp" 
      android:layout_height="wrap_content"/> 
    </LinearLayout> 

</RelativeLayout>