how to shorten spinner selected item text in android?

允我心安 提交于 2019-12-13 05:27:58

问题


I have used android custom spinner.

My custom spinner look like bellow

My List data is like

 List<String> list = new ArrayList<String>();
    list.add("001-00434016457-Md. Mokhhlesur Rahman");
    list.add("001-00434016724-Mohammad Nazim Ullah");
    list.add("001-00434016725-Mohsin Kabir");
    list.add("001-00434016881-Maruf Pervaz Khan");
    list.add("001-00434017171-Md.Nazmul Hasan");

My Spinner Adapter and setting data in spinner is like bellow

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

My problem is spinner's item text is large like "001-00434016881-Maruf Pervaz"

I want to select only id like 001-00434016881.

I don't want to get full text of the spinner item selection. How can I remove name part like -Maruf Pervaz Khan from 001-00434016881-Maruf Pervaz on item selection from spinner.

Please Help me


回答1:


Try this. If the row item maintains same pattern as 001-00434016881-Md.Some Name

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(MainActivity.this, adapter.getItem(position).substring(0,adapter.getItem(position).lastIndexOf("-")), Toast.LENGTH_LONG).show();

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            // TODO Auto-generated method stub

        }
    });


来源:https://stackoverflow.com/questions/29599063/how-to-shorten-spinner-selected-item-text-in-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!