我是android java编码的新手。我已经完成了我的java类和xml布局,但我仍然坚持观察。我不知道如何使menu.xml中的选定项目显示在view.xml布局上?这是我对菜单和视图的编码。
这是我的menu.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();
}
});
}
}
&#13;
这是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>
&#13;
这是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();
}
});
}
}
&#13;
这是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>
&#13;
答案 0 :(得分:0)
这应该看看我的评论,并确保你知道这些问题的答案。另外我会在multiAutocompleteTextView上使用textView。
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();
}
});
}
}