【问题标题】:I want a spinner to be displayed when an item in a listview is clicked. How to do that?我希望在单击列表视图中的项目时显示微调器。怎么做?
【发布时间】:2017-05-16 18:36:40
【问题描述】:

我有一个包含 4 个项目的列表视图。每当单击其中一个时,应显示一个弹出微调器。我已填充微调器适配器,但我不知道如何显示它。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_community);

    listView = (ListView)findViewById(R.id.lv_community);

    list_c = getResources().getStringArray(R.array.community);

    cAdapter = new ArrayAdapter<String>(Community.this,android.R.layout.simple_list_item_1,list_c);

    listView.setAdapter(cAdapter);

    listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            switch (position){
                case 0: list_sc = getResources().getStringArray(R.array.Spr_subclass);
                        scAdapter = new ArrayAdapter<String>(Community.this,android.R.layout.simple_spinner_dropdown_item,list_sc);
                        break;

                case 1: list_sc = getResources().getStringArray(R.array.Edu_subclass);
                        scAdapter = new ArrayAdapter<String>(Community.this,android.R.layout.simple_spinner_dropdown_item,list_sc);
                        break;

                case 2: list_sc = getResources().getStringArray(R.array.Coo_subclass);
                        scAdapter = new ArrayAdapter<String>(Community.this,android.R.layout.simple_spinner_dropdown_item,list_sc);
                        break;

                case 3: list_sc = getResources().getStringArray(R.array.Com_subclass);
                        scAdapter = new ArrayAdapter<String>(Community.this,android.R.layout.simple_spinner_dropdown_item,list_sc);
                        break;
            }
        }
    });
}

【问题讨论】:

    标签: android listview spinner android-spinner


    【解决方案1】:

    你可以这样做

    public void showSpinnerPopUp(String[] array){
    
     AlertDialog.Builder b = new Builder(this);
     b.setTitle("Example");
    
     b.setItems(array, new OnClickListener() {
    
        @Override
        public void onClick(DialogInterface dialog, int which) {
    
            dialog.dismiss();
            switch(which){
    
            }
        }
    
    });
    
     b.show();
    }
    

    并在项目单击中执行此操作

    showSpinnerPopUp(list_c);

    【讨论】:

    • 解决了我的问题。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多