android实现多列显示的下拉列表框-Spinner

本文介绍了在Android应用中创建Spinner、GridView和自定义Adapter的代码片段,以及如何使用Builder创建AlertDialog。同时,作者分享了关于Android开发的学习资源,包括系统布局、适配器设计和求职面试技巧的相关内容。
摘要由CSDN通过智能技术生成

private Spinner spinner;

private GridView gridView;

private LinearLayout layout;

private Builder builder;

private AlertDialog dialog;

private MyAdapter adapter;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

LayoutInflater inflater = LayoutInflater.from(this);

layout = (LinearLayout) inflater.inflate(R.layout.bank_grid, null);

gridView = (GridView) layout.findViewById(R.id.grid);

adapter = new MyAdapter(this);

gridView.setAdapter(adapter);

button1 = (Button) findViewById(R.id.button1);

button2 = (Button) findViewById(R.id.button2);

textView = (TextView) findViewById(R.id.textview);

builder = new Builder(TestAndroid9Activity.this);

builder.setView(layout);

button1.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(dialog == null){

dialog = builder.show();

}

dialog.show();

}

});

gridView.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> arg0, View arg1, int position,

long arg3) {

// TODO Auto-generated method stub

button1.setText(getResources().getStringArray(R.array.city)[position]);

dialog.dismiss();

adapter.map.put(index, false);

adapter.map.put(position, true);

index = position;

adapter.notifyDataSetChanged();

}

});

}

private class MyAdapter extends BaseAdapter{

private Context context;

private String[] citys;

private LayoutInflater inflater;

public HashMap<Integer, Boolean> map;

public MyAdapter(Context context) {

super();

this.context = context;

citys = context.getResources().getStringArray(R.array.city);

inflater = LayoutInflater.from(context);

map = new HashMap<Integer, Boolean>();

for(int i=0;i<citys.length;i++){

map.put(i, false);

}

}

public int getCount() {

// TODO Auto-generated method stub

return citys.length;

}

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

public View getView(int position, View view, ViewGroup parent) {

// TODO Auto-generated method stub

if(view == null){

view = inflater.inflate(R.layout.bank_item, null);

}

TextView textView = (TextView) view.findViewById(R.id.list_text);

RadioButton radioButton = (RadioButton) view.findViewById(R.id.radiobutton);

radioButton.setChecked(map.get(position));

textView.setText(citys[position]);

return view;

}

}

bank_grid.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

总结

开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?

作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

相信它会给大家带来很多收获:

960页全网最全Android开发笔记

资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值