سؤال

I'm displaying employee name from xml file and it displaying via Spinner. It showing through ArrayAdapter, but if i select anyone of the value and i need to show the selected value to toast. But it's not showing. I'm getting string Cast error.

List<Employee> employees = null;
        try {
            XmlPullParserHandler parser = new XmlPullParserHandler();
            InputStream is=getAssets().open("employees.xml");
            employees = parser.parse(is);

            ArrayAdapter<Employee> adapter =new ArrayAdapter<Employee>(this,android.R.layout.simple_list_item_1, employees);
           // listView.setAdapter(adapter);

             adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
            //Setting the ArrayAdapter data on the Spinner  
            spin.setAdapter(adapter);  

            String employee=(String)spin.getSelectedItem();

            Toast.makeText(getApplicationContext(), "name is :"+employee, Toast.LENGTH_SHORT).show();

        } catch (IOException e) {e.printStackTrace();}
هل كانت مفيدة؟

المحلول

// try this way,hope this will help you....

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Employee employee = employees.get(position);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
});

نصائح أخرى

 spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
           String employee=spin.getSelectedItem.toString();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
 });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top