Spinner是Android中常用的下拉菜单控件,通常用于单列选择。如果需要实现多列选择的下拉菜单,可以使用自定义的Adapter来实现。
首先,创建一个自定义的Adapter类来实现多列选择功能:
public class MultiColumnAdapter extends ArrayAdapter<String[]> {
private Context mContext;
private ArrayList<String[]> mData;
public MultiColumnAdapter(Context context, int resource, ArrayList<String[]> data) {
super(context, resource, data);
this.mContext = context;
this.mData = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
}
String[] columns = mData.get(position);
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(columns[0] + " - " + columns[1] + " - " + columns[2]);
return convertView;
}
}
然后,在Activity中使用Spinner并设置自定义的Adapter:
Spinner spinner = findViewById(R.id.spinner);
ArrayList<String[]> data = new ArrayList<>();
data.add(new String[]{"Item 1", "Subitem 1", "Subsubitem 1"});
data.add(new String[]{"Item 2", "Subitem 2", "Subsubitem 2"});
data.add(new String[]{"Item 3", "Subitem 3", "Subsubitem 3"});
MultiColumnAdapter adapter = new MultiColumnAdapter(this, android.R.layout.simple_spinner_dropdown_item, data);
spinner.setAdapter(adapter);
这样就实现了一个包含多列选择的Spinner下拉菜单。在getView方法中,可以根据需要来设置显示的列数和内容。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。