-3
package walmart.namespace;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class WalmartActivity extends Activity {
        /** Called when the activity is first created. */

        EditText department;
        EditText name;
        Button search;
        String display;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                department = (EditText) findViewById(getResources().getIdentifier(
                                "etNum", "id", getPackageName()));
                name = (EditText) findViewById(getResources().getIdentifier("etName",
                                "id", getPackageName()));
                search = (Button) findViewById(getResources().getIdentifier(
                                "btnSearch", "id", getPackageName()));
                final String Display;
                switch (department) {
                case 1:
                        display = "food";
                case 2:
                        display = "Health and Beauty Aids";
                case 3:
                        display = "Stationary and Books";
                case 4:
                        display = "Paper Goods";
                case 5:
                        display = "Home Entertainment";
                case 6:
                        display = "Cameras and Film";
                case 7:
                        display = "Toys";
                case 8:
                        display = "Pets and Pet Supplies";
                case 9:
                        display = "Sporting Goods";
                case 10:
                        display = "Automotive";
                case 11:
                        display = "Hardware";
                case 12:
                        display = "Paint and Accessories";
                case 13:
                        display = "Household Chemicals";
                case 14:
                        display = "Housewares";
                case 15:
                        display = "Appliances";
                case 16:
                        display = "Lawn and Garden";
                case 17:
                        display = "Home Furnishings";
                case 18:
                        display = "Seasonal";
                case 19:
                        display = "Fabrics and Crafts";
                case 20:
                        display = "Domestic Goods";
                case 21:
                        display = "Curtains";
                case 22:
                        display = "Bedding";
                case 23:
                        display = "Mens";
                case 24:
                        display = "Boys";
                case 25:
                        display = "Shoes";
                case 26:
                        display = "Infants and Toddlers";
                case 27:
                        display = "Ladies Socks";
                case 28:
                        display = "Nylon Hosiery";
                case 29:
                        display = "Lingerie";
                case 30:
                        display = "Foundations";
                case 31:
                        display = "Handbags and Accessories";
                case 32:
                        display = "Jewlery";
                case 33:
                        display = "Girls";
                case 34:
                        display = "Ladies";
                case 36:
                        display = "Outerwear";
                case 39:
                        display = "Food Services";
                case 40:
                        display = "Pharmacy";
                case 46:
                        display = "Cosmetics";
                case 49:
                        display = "Optical";
                case 56:
                        display = "Horticulture";
                case 58:
                        display = "Income";
                case 77:
                        display = "Large Appliances";
                case 80:
                        display = "Service Deli";
                case 81:
                        display = "Bread";
                case 82:
                        display = "Impulse Buys";
                case 83:
                        display = "Seafood";
                case 84:
                        display = "Floral";
                case 85:
                        display = "1 Hour Photo";
                case 86:
                        display = "Fresh Flowers and Balloons";
                case 87:
                        display = "Wireless";
                case 89:
                        display = "Travel Center";
                case 90:
                        display = "Dairy";
                case 91:
                        display = "Frozen Foods";
                case 92:
                        display = "Grocery";
                case 93:
                        display = "Meats";
                case 94:
                        display = "Produce";
                case 95:
                        display = "DSD Grocery";
                case 96:
                        display = "Liqour";
                case 97:
                        display = "Processed Meats";
                case 98:
                        display = "Bakery";
                case 99:
                        display = "Store Use";
                }

                if (name.equals("Electronics")) {
                        display = "5";
                } else if (name.equals("candy")) {
                        display = ("1");
                } else if (name.equals("Tobacco")) {
                        display = ("1");
                } else if (name.equals("Makeup")) {
                        display = ("2");
                } else if (name.equals("Stationary")) {
                        display = ("3");
                } else if (name.equals("Books")) {
                        display = ("3");
                } else if (name.equals("Napkins")) {
                        display = ("4");
                } else if (name.equals("Paper Plates")) {
                        display = ("4");
                } else if (name.equals("Paper")) {
                        display = ("4");
                } else if (name.equals("Video Games")) {
                        display = ("5");
                } else if (name.equals("Movies")) {
                        display = ("5");
                } else if (name.equals("Cameras")) {
                        display = ("6");
                } else if (name.equals("Film")) {
                        display = ("6");
                } else if (name.equals("Photo")) {
                        display = ("6");
                } else if (name.equals("Toys")) {
                        display = ("7");
                } else if (name.equals("Fishing Rods")) {
                        display = ("9");
                } else if (name.equals("Sporting Equipment")) {
                        display = ("9");
                } else if (name.equals("Sporting Goods")) {
                        display = ("9");
                } else if (name.equals("Car Stereos")) {
                        display = ("10");
                } else if (name.equals("Automotive")) {
                        display = ("10");
                } else if (name.equals("Tools")) {
                        display = ("11");
                } else if (name.equals("Heaters")) {
                        display = ("11");
                } else if (name.equals("Fans")) {
                        display = ("11");
                } else if (name.equals("Hardware")) {
                        display = ("11");
                } else if (name.equals("Paint")) {
                        display = ("12");
                } else if (name.equals("Bleach")) {
                        display = ("13");
                } else if (name.equals("Ammonia")) {
                        display = ("13");
                } else if (name.equals("Chemicals")) {
                        display = ("13");
                } else if (name.equals("Towels")) {
                        display = ("14");
                } else if (name.equals("Kitchen Accessories")) {
                        display = ("14");
                } else if (name.equals("Towels")) {
                        display = ("14");
                } else if (name.equals("Appliances")) {
                        display = ("15");
                } else if (name.equals("Plants")) {
                        display = ("16");
                } else if (name.equals("Grills")) {
                        display = ("16");
                } else if (name.equals("Lawn & Garden")) {
                        display = ("16");
                } else if (name.equals("Furniture")) {
                        display = ("17");
                } else if (name.equals("Seasonal")) {
                        display = ("18");
                } else if (name.equals("Fabrics and Crafts")) {
                        display = ("19");
                } else if (name.equals("Domestics")) {
                        display = ("20");
                } else if (name.equals("Curtains")) {
                        display = ("21");
                } else if (name.equals("Bedding")) {
                        display = ("22");
                } else if (name.equals("Mens")) {
                        display = ("23");
                } else if (name.equals("Boys")) {
                        display = ("24");
                } else if (name.equals("Shoes")) {
                        display = ("25");
                } else if (name.equals("Infants")) {
                        display = ("26");
                } else if (name.equals("Ladies Socks")) {
                        display = ("27");
                } else if (name.equals("Pantyhose")) {
                        display = ("28");
                } else if (name.equals("Lingerie")) {
                        display = ("29");
                } else if (name.equals("Purses")) {
                        display = ("31");
                } else if (name.equals("Handbags")) {
                        display = ("31");
                } else if (name.equals("Jewelry")) {
                        display = ("32");
                } else if (name.equals("Girls")) {
                        display = ("33");
                } else if (name.equals("Maternity")) {
                        display = ("35");
                } else if (name.equals("Outerwear")) {
                        display = ("36");
                }

                else if (name.equals("Pharmacy")) {
                        display = ("40");

                } else if (name.equals("Cosmetics")) {
                        display = ("46");
                } else if (name.equals("Optical")) {
                        display = ("49");
                }

                else if (name.equals("Large Appliances")) {
                        display = ("77");
                } else if (name.equals("Deli")) {
                        display = ("80");
                } else if (name.equals("Bread")) {
                        display = ("81");
                } else if (name.equals("Seafood")) {
                        display = ("83");
                } else if (name.equals("Floral")) {
                        display = ("84");
                } else if (name.equals("One Hour Photo")) {
                        display = ("85");
                } else if (name.equals("Fresh Flowers")) {
                        display = ("86");

                } else if (name.equals("Cell Phones")) {
                        display = ("87");
                } else if (name.equals("Travel Center")) {
                        display = ("89");
                } else if (name.equals("Luggage")) {
                        display = ("89");
                } else if (name.equals("Dairy")) {
                        display = ("90");
                } else if (name.equals("Milk")) {
                        display = ("90");
                } else if (name.equals("Frozen Foods")) {
                        display = ("91");
                } else if (name.equals("Frozen")) {
                        display = ("91");
                } else if (name.equals("Grocery")) {
                        display = ("92");
                } else if (name.equals("Meats")) {
                        display = ("93");
                } else if (name.equals("Produce")) {
                        display = ("94");
                } else if (name.equals("Liquor")) {
                        display = ("96");
                } else if (name.equals("Bakery")) {
                        display = ("98");
                }

                department.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                                department.setText("");
                        }
                });
                name.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                                name.setText("");
                        }
                });
                search.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {

                        }
                });
        }
}

I'm a novice at JAVA, but i get this error message at line 29, on the "department" line.

Cannot switch on a value of type EditText. Only convertible int values or enum constants are permitted.

I'm not sure how to fix this. Any takers?

Eng.Fouad
  • 115,165
  • 71
  • 313
  • 417

6 Answers6

3

In Java 6, switch takes only int or enum. If you want to take the text from the EditText, convert it to int, and use it on switch, then you can do something like this:

switch(Integer.parseInt(department.getText().toString())) // Be careful! This could throw an exception if the text doesn't contain a valid integer
Eng.Fouad
  • 115,165
  • 71
  • 313
  • 417
  • It would make sense also to ensure that `android:inputType="number"` is set on the EditText field, see ["how to return an int from EditText"](http://stackoverflow.com/questions/4903515/how-do-i-return-an-int-from-edittext-android) – Dima Chubarov Apr 25 '12 at 07:45
2

department is not an int or enum value, so it cannot be switched on.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
2

As the error suggests, you can't pass an entire object to your switch statement and expect it to work. You need something which by the end of the day will resolve to an integer value.

You could have some method in your EditText class which would return some integer, then, you could do something like switch(departement.getNumericalValue()) and use switch to work on that, but other than that, you can't work with what you currently have.

npinti
  • 51,780
  • 5
  • 72
  • 96
1

As of Java 7, you can switch of Strings, but not on standard Objects

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

However, you are using android and hence still java 6

Since you have to use 6, you'll need to convert the String to an integer

switch (Integer.parseInt(department.getText())){
    case 1:
         display = "food";
....
Bruce Lowe
  • 6,063
  • 1
  • 36
  • 47
  • You can't use Java 7 features in Android http://stackoverflow.com/questions/7153989/java-7-language-features-with-android – zapl Apr 25 '12 at 07:51
  • Thanks Zapl, perhaps I should not have led with the whole 7 has strings sentence, i did say however Android uses 6. I've now changed the "however" to get a bit more emphasis. I assumed the poster was confused between 7 and 6 features which is why i mentioned it – Bruce Lowe Apr 25 '12 at 08:10
  • 1
    I was thinking that too & therefore +1 your answer – zapl Apr 25 '12 at 08:19
0

You should use getText to get the text value from your EditText field and convert it to numeric values..

MD Sayem Ahmed
  • 28,628
  • 27
  • 111
  • 178
-1

Replace the switch statement on the department variable by a switch statement on

Integer.parseInt(department.getText().toString())

kyiu
  • 1,926
  • 1
  • 24
  • 30