I am making the following app for my school assignment. It is a simple Pizza app, which asks the user to select which topping they would like on their pizza. I ask the user to select the toppings they want by check-boxes. Once the user selects the toppings and clicks the "submit" button, it should open up a new activity and in this new activity it should display what the user had selected from the previous activity.
In other words:
- user checks of -> Onions and Olives
- then user clicks -> Submit
- then new activity opens up, and displays what user selected
Here is my code for first activity called TanavActivityAd1
and my second activity called TanavActivityOrder
MY CODE: (TanavActivityAd1)(FirstActivity)
package tanav.sharma;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.Toast;
import android.view.MenuItem;
import android.view.Menu;
import java.util.ArrayList;
public class TanavActivityAd1 extends AppCompatActivity {
ArrayList<String> topping = new ArrayList<String>(); // saves what user has checked off
TextView final_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tanav_activity_ad1);
Toolbar my_toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(my_toolbar);
getSupportActionBar().setTitle(R.string.my_tb_tittle);
//initialize the text view
final_text = (TextView) findViewById(R.id.final_result);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main_menue, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.menu_1:
//Toast.makeText(TanavActivity2.this, "Test: Pizza Pressed", Toast.LENGTH_SHORT).show();
goToUrl("http://pizzerialibretto.com/");
break;
case R.id.menu_2:
//Toast.makeText(TanavActivity2.this, "Test: Help Pressed", Toast.LENGTH_SHORT).show();
goToUrl("http://google.ca");
break;
}
return super.onOptionsItemSelected(item);
}
//functions for menu aka. ToolBar
//opens up a link, after user has pressed "help!"
public void goToUrl(String url){
Uri uriUrl =Uri.parse(url);
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
}
public void selectTopping (View view){
boolean checked = ((CheckBox) view).isChecked();
switch (view.getId()){
case R.id.checkBox:
if(checked){
topping.add("Onions");
}else{
topping.remove("Onions");
}
break;
case R.id.checkBox2:
if(checked){
topping.add("Broccoli");
}else{
topping.remove("Broccoli");
}
break;
case R.id.checkBox3:
if(checked){
topping.add("Tomatoes");
}else{
topping.remove("Tomatoes");
}
break;
case R.id.checkBox4:
if(checked){
topping.add("Green Pepper");
}else{
topping.remove("Green Pepper");
}
break;
case R.id.checkBox5:
if(checked){
topping.add("Ham");
}else{
topping.remove("Ham");
}
break;
case R.id.checkBox6:
if(checked){
topping.add("Chicken");
}else{
topping.remove("Chicken");
}
break;
case R.id.checkBox7:
if(checked){
topping.add("Pepperoni");
}else{
topping.remove("Pepperoni");
}
break;
case R.id.checkBox8:
if(checked){
topping.add("Bacon Strips");
}else{
topping.remove("Bacon Strips");
}
break;
case R.id.checkBox9:
if(checked){
topping.add("Chipotle Steak");
}else{
topping.remove("Chipotle Steak");
}
break;
case R.id.checkBox10:
if(checked){
topping.add("Ground Beef");
}else{
topping.remove("Ground Beef");
}
break;
case R.id.checkBox11:
if(checked){
topping.add("Salami");
}else{
topping.remove("Salami");
}
break;
case R.id.checkBox12:
if(checked){
topping.add("Sausage");
}else{
topping.remove("Sausage");
}
break;
case R.id.checkBox13:
if(checked){
topping.add("Extra Cheese");
}else{
topping.remove("Extra Cheese");
}
break;
case R.id.checkBox14:
if(checked){
topping.add("Spinach");
}else{
topping.remove("Spinach");
}
break;
case R.id.checkBox15:
if(checked){
topping.add("Jalapeno");
}else{
topping.remove("Jalapeno");
}
break;
case R.id.checkBox16:
if(checked){
topping.add("Four Cheese");
}else{
topping.remove("Four Cheese");
}
break;
case R.id.checkBox17:
if(checked){
topping.add("Pineapple");
}else{
topping.remove("Pineapple");
}
break;
case R.id.checkBox18:
if(checked){
topping.add("Black Olives");
}else{
topping.remove("Black Olives");
}
break;
case R.id.checkBox19:
if(checked){
topping.add("Mozzarella");
}else{
topping.remove("Mozzarella");
}
break;
case R.id.checkBox20:
if(checked){
topping.add("Mushroom");
}else{
topping.remove("Mushroom");
}
break;
case R.id.checkBox21:
if(checked){
topping.add("Green Olives");
}else{
topping.remove("Green Olives");
}
break;
}
}
public void finalSubmit(View view){
String final_display = ""; //null value
for(int i=0;i<topping.size();i++){
String checked = topping.get(i).toString();
final_display = final_display + checked +"\n" ;
}
final_text.setText("Toppings:\n" + final_display);
}
}
Now how do i pass my array into new activity? I want to display what the user has selected in firstActivity
to a new activity.
Pleaseeeee Help!
LogCat:
OpenGL ES Shader Compiler Version: XE031.06.00.05
Build Date: 01/04/16 Mon
Local Branch:
Remote Branch: quic/LA.BR.1.2.6_rb1.7
Local Patches: NONE
Reconstruct Branch: NOTHING
10-05 01:15:32.733 30647-30662/tanav.sharma I/OpenGLRenderer: Initialized EGL, version 1.4
10-05 01:15:32.803 30647-30662/tanav.sharma D/libGLESv1: DTS_GLAPI : DTS is not allowed for Package : tanav.sharma
10-05 01:15:32.883 30647-30647/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:15:32.933 30647-30647/tanav.sharma D/ViewRootImpl: #1 mView = android.widget.LinearLayout{5e94756 V.E...... ......I. 0,0-0,0}
10-05 01:15:32.983 30647-30662/tanav.sharma V/RenderScript: 0xb79d2350 Launching thread(s), CPUs 4
10-05 01:15:32.983 30647-30647/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
10-05 01:15:32.993 30647-30647/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@c2652e7 time:376047093
10-05 01:15:34.223 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:34.233 30647-30647/tanav.sharma D/ViewRootImpl: #3 mView = null
10-05 01:15:34.373 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:34.373 30647-30647/tanav.sharma I/Timeline: Timeline: Activity_launch_request id:tanav.sharma time:376048474
10-05 01:15:34.433 30647-30647/tanav.sharma I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
10-05 01:15:34.503 30647-30647/tanav.sharma D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{7c3ae26 I.E...... R.....ID 0,0-0,0}
10-05 01:15:34.503 30647-30647/tanav.sharma D/SecWifiDisplayUtil: Metadata value : none
10-05 01:15:34.633 30647-30647/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:15:34.683 30647-30647/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@afe3d81 time:376048784
10-05 01:15:34.863 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:34.883 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:34.893 30647-30647/tanav.sharma V/ActivityThread: updateVisibility : ActivityRecord{7fd39ba token=android.os.BinderProxy@c2652e7 {tanav.sharma/tanav.sharma.TanavActivity2}} show : false
10-05 01:15:35.643 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:36.203 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:36.243 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:36.543 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:44.123 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:44.183 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:44.573 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:44.643 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:46.113 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:46.183 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:46.833 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:46.903 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:47.633 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:47.703 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:48.573 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:48.673 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:48.983 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:49.063 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:52.563 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:52.583 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:15:52.673 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:15:52.783 30647-30647/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:26.923 31667-31667/tanav.sharma W/System: ClassLoader referenced unknown path: /data/app/tanav.sharma-1/lib/arm
[ 10-05 01:16:26.933 31667:31667 W/ ]
Unable to open '/system/framework/qcom.fmradio.jar': No such file or directory
10-05 01:16:26.933 31667-31667/tanav.sharma W/art: Failed to open zip archive '/system/framework/qcom.fmradio.jar': I/O Error
10-05 01:16:28.373 31667-31667/tanav.sharma W/System: ClassLoader referenced unknown path: /data/app/tanav.sharma-1/lib/arm
10-05 01:16:28.563 31667-31667/tanav.sharma W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
10-05 01:16:29.033 31667-31667/tanav.sharma D/SecWifiDisplayUtil: Metadata value : none
10-05 01:16:29.033 31667-31667/tanav.sharma D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{b176dce I.E...... R.....ID 0,0-0,0}
10-05 01:16:29.043 31667-31873/tanav.sharma D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
10-05 01:16:29.073 31667-31873/tanav.sharma I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_32_LA.BR.1.2.6_RB1__release_AU (Ia10634f51b)
OpenGL ES Shader Compiler Version: XE031.06.00.05
Build Date: 01/04/16 Mon
Local Branch:
Remote Branch: quic/LA.BR.1.2.6_rb1.7
Local Patches: NONE
Reconstruct Branch: NOTHING
10-05 01:16:29.083 31667-31873/tanav.sharma I/OpenGLRenderer: Initialized EGL, version 1.4
10-05 01:16:29.103 31667-31873/tanav.sharma D/libGLESv1: DTS_GLAPI : DTS is not allowed for Package : tanav.sharma
10-05 01:16:29.203 31667-31667/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:16:29.323 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@c6012c9 time:376103429
10-05 01:16:33.873 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:16:33.903 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:33.903 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_launch_request id:tanav.sharma time:376108005
10-05 01:16:33.973 31667-31667/tanav.sharma I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
10-05 01:16:34.393 31667-31667/tanav.sharma D/SecWifiDisplayUtil: Metadata value : none
10-05 01:16:34.393 31667-31667/tanav.sharma D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{6a44f19 I.E...... R.....ID 0,0-0,0}
10-05 01:16:34.533 31667-31667/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:16:34.603 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@6f7ce60 time:376108700
10-05 01:16:34.793 31667-31667/tanav.sharma V/ActivityThread: updateVisibility : ActivityRecord{8b50978 token=android.os.BinderProxy@c6012c9 {tanav.sharma/tanav.sharma.TanavActivity}} show : false
10-05 01:16:36.963 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:16:37.043 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:37.043 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_launch_request id:tanav.sharma time:376111146
10-05 01:16:37.103 31667-31667/tanav.sharma I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
10-05 01:16:37.183 31667-31667/tanav.sharma D/SecWifiDisplayUtil: Metadata value : none
10-05 01:16:37.183 31667-31667/tanav.sharma D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{3449061 I.E...... R.....ID 0,0-0,0}
10-05 01:16:37.293 31667-31667/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:16:37.343 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@b26a7c8 time:376111449
10-05 01:16:37.573 31667-31667/tanav.sharma V/ActivityThread: updateVisibility : ActivityRecord{e07ffc5 token=android.os.BinderProxy@6f7ce60 {tanav.sharma/tanav.sharma.TanavActivity2}} show : false
10-05 01:16:39.213 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:16:39.283 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:40.873 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:16:41.003 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:44.763 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 0
10-05 01:16:44.893 31667-31667/tanav.sharma D/ViewRootImpl: ViewPostImeInputStage processPointer 1
10-05 01:16:44.913 31667-31667/tanav.sharma I/Timeline: Timeline: Activity_launch_request id:tanav.sharma time:376119011
10-05 01:16:45.013 31667-31667/tanav.sharma D/AndroidRuntime: Shutting down VM
10-05 01:16:45.013 31667-31667/tanav.sharma E/AndroidRuntime: FATAL EXCEPTION: main
Process: tanav.sharma, PID: 31667
java.lang.RuntimeException: Unable to start activity ComponentInfo{tanav.sharma/tanav.sharma.TanavActivityOrder}: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.String[]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7331)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.String[]
at tanav.sharma.TanavActivityOrder.onCreate(TanavActivityOrder.java:27)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7331)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
10-05 01:16:52.573 31667-31667/tanav.sharma I/Process: Sending signal. PID: 31667 SIG: 9
10-05 01:16:52.773 32582-32582/tanav.sharma W/System: ClassLoader referenced unknown path: /data/app/tanav.sharma-1/lib/arm
10-05 01:16:52.893 32582-32582/tanav.sharma W/System: ClassLoader referenced unknown path: /data/app/tanav.sharma-1/lib/arm
10-05 01:16:53.083 32582-32582/tanav.sharma W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
10-05 01:16:53.313 32582-32582/tanav.sharma I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
10-05 01:16:53.713 32582-32582/tanav.sharma D/SecWifiDisplayUtil: Metadata value : none
10-05 01:16:53.723 32582-32582/tanav.sharma D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{1a10d3d I.E...... R.....ID 0,0-0,0}
10-05 01:16:53.723 32582-32623/tanav.sharma D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
10-05 01:16:53.783 32582-32623/tanav.sharma I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_32_LA.BR.1.2.6_RB1__release_AU (Ia10634f51b)
OpenGL ES Shader Compiler Version: XE031.06.00.05
Build Date: 01/04/16 Mon
Local Branch:
Remote Branch: quic/LA.BR.1.2.6_rb1.7
Local Patches: NONE
Reconstruct Branch: NOTHING
10-05 01:16:53.783 32582-32623/tanav.sharma I/OpenGLRenderer: Initialized EGL, version 1.4
10-05 01:16:53.853 32582-32623/tanav.sharma D/libGLESv1: DTS_GLAPI : DTS is not allowed for Package : tanav.sharma
10-05 01:16:53.933 32582-32582/tanav.sharma D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
10-05 01:16:53.983 32582-32582/tanav.sharma I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@f3dde94 time:376128081