如何将所选项目从一个布局调用到另一个布局



我是android java编码的新手。我已经完成了java类和xml的布局,但仍停留在视图中。我不知道如何使从menu.xml中选择的项目显示在view.xml布局上?这是我对菜单和视图的编码。

这是我的菜单.java.

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
import java.util.ArrayList;
public class MenuActivity extends Activity {
	
	Button btnorder; 
	Button btnback;
	Button btnlinkcart;
	
ArrayList<String> checked_item = new ArrayList();
    
	CheckBox pizza_large;
	CheckBox pizza_medium;
	CheckBox pizza_personal;
	CheckBox Chicken_wings;
	CheckBox garlic_bread;
	CheckBox drink_large;
	CheckBox drink_medium;
	
	
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.menu);
        
		btnlinkcart = (Button) findViewById(R.id.button1);
		btnback  = (Button) findViewById(R.id.button2);		
		pizza_large = (CheckBox) findViewById(R.id.checkBox1);
		pizza_medium = (CheckBox) findViewById(R.id.checkBox2);
		pizza_personal = (CheckBox) findViewById(R.id.checkBox3);
		Chicken_wings = (CheckBox) findViewById(R.id.checkBox4);
		garlic_bread = (CheckBox) findViewById(R.id.checkBox5);
		drink_large = (CheckBox) findViewById(R.id.checkBox6);
		drink_medium = (CheckBox) findViewById(R.id.checkBox7);
		
		//TODO:repeat for the rest
	
//	protected void onCreate(Bundle savedInstanceState) {
//		// TODO Auto-generated method stub
//		super.onCreate(savedInstanceState);
//		setContentView(R.layout.menu);
        
		
		 // back button click event
        btnback.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {	
				Intent intent = new Intent(MenuActivity.this, MainActivity.class);
			    startActivity(intent);
				
			}
        });
        
      //array to store what item is checked
        // Link to Cart Screen
        		btnlinkcart.setOnClickListener(new View.OnClickListener() {
        			public void onClick(View view) {
        				if(pizza_large.isChecked())
        					checked_item.add("pizza_large");
        				else if (pizza_medium.isChecked())
        					checked_item.add("pizza_medium");
        				else if (pizza_personal.isChecked())
        					checked_item.add("pizza_personal");
        				else if (Chicken_wings.isChecked())
        					checked_item.add("Chicken_wings");
        				else if (garlic_bread.isChecked())
        					checked_item.add("garlic_bread");
        				else if (drink_large.isChecked())
        					checked_item.add("drink_large");
        				else if (drink_medium.isChecked())
        					checked_item.add("drink_medium");
        				
        				
        			Intent i = new Intent(getApplicationContext(),
        						ViewActivity.class);
        				
        				//checked_item ArrayList is bundled
        				Bundle data = new Bundle();
        				data.putStringArrayList("item_checked", checked_item);
        				i.putExtra("data", data);
        				
        				startActivity(i);
        				finish();
        			}
        		});
   	}
        
}

这是menu.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/wallpaper"
    android:orientation="vertical" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="Next" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="Back" />
    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="28dp"
        android:text="Pizza (Large) RM30.00"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox1"
        android:layout_marginTop="20dp"
        android:text="Pizza (Mediume) RM20.00"
        android:textAppearance="?android:attr/textAppearanceLarge"  />
    <CheckBox
        android:id="@+id/checkBox3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox2"
        android:layout_marginTop="20dp"
        android:text="Pizza (Personal) RM10.00"
        android:textAppearance="?android:attr/textAppearanceLarge"  />
    <CheckBox
        android:id="@+id/checkBox4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox3"
        android:layout_marginTop="20dp"
        android:text="Chicken Wings RM12.00"
        android:textAppearance="?android:attr/textAppearanceLarge"  />
    <CheckBox
        android:id="@+id/checkBox5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox4"
        android:layout_marginTop="19dp"
        android:text="Garlic Bread RM6.00"
        android:textAppearance="?android:attr/textAppearanceLarge"  />
    <CheckBox
        android:id="@+id/checkBox6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox5"
        android:layout_marginTop="20dp"
        android:text="Soft Drink (Large) RM5.00" 
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <CheckBox
        android:id="@+id/checkBox7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/checkBox6"
        android:layout_marginTop="19dp"
        android:text="Soft Drink (Medium) RM4.00"
        android:textAppearance="?android:attr/textAppearanceLarge"  />
</RelativeLayout>

这是view.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.ArrayList;
public class ViewActivity extends Activity {
	
	Button btnconfirm;
	
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.cart);
        
		Bundle data = getIntent().getExtras();
		ArrayList<String> checked_item = new ArrayList();;
		if (data != null){
			checked_item = data.getStringArrayList("item_checked");
		}
		
		
		btnconfirm = (Button) findViewById(R.id.button1);
		
		
		// Link to Cart Screen
 		btnconfirm.setOnClickListener(new View.OnClickListener() {
 			public void onClick(View view) {
 				Intent i = new Intent(getApplicationContext(),
 						ConfirmActivity.class);
 				startActivity(i);
 				finish();
 			}
 		});
	}
}

这是view.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/wallpaper" >
    <MultiAutoCompleteTextView
        android:id="@+id/multiAutoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="MultiAutoCompleteTextView" >
        <requestFocus />
    </MultiAutoCompleteTextView>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="Confirm" />
</RelativeLayout>

这应该看看我的评论,并确保你知道这些问题的答案。此外,我会使用文本视图而不是多重自动完成文本视图。

public class ViewActivity extends Activity {
    Button btnconfirm;
    // lets get handle to TextView element defined in your xml with id multiAutoCompleteTextView1
    TextView myTextView;
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cart);
        // find the view and add it to the handle
        myTextView = (TextView) findViewById(R.id.multiAutoCompleteTextView1);
        Bundle data = getIntent().getExtras();
        ArrayList<String> checked_item = new ArrayList();;
        if (data != null){
            checked_item = data.getStringArrayList("item_checked");
            // set text in the text view that was grabbed from the budle.
           // search what are bundles how to pass data from one activity to another
           // what are intents
           // how to start an activity
             myTextView.setText(checked_item);
        }

        btnconfirm = (Button) findViewById(R.id.button1);

        // Link to Cart Screen
        btnconfirm.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent i = new Intent(getApplicationContext(),
                        ConfirmActivity.class);
                startActivity(i);
                finish();
            }
        });
    }
}

最新更新