android - 如果通过点击更换Gridview 的指定Item 背景颜色
巴扎黑
巴扎黑 2017-04-17 17:48:00
[Android讨论组]

我的情况是这样的。 主界面是用Gridview展示出餐厅里的餐桌情况。

默认情况下,每个桌子都是绿色背景。 如果点击该item, 会出现一个Dialog 窗口;提示是否开桌子。 如果点击是,该item的背景颜色更换为红色。

以下是我的代码,请大神们指点迷津!

public class table extends AppCompatActivity implements AdapterView.OnItemClickListener{

GridView gridView;

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

    gridView=(GridView)findViewById(R.id.gridview);
    String wtf[]={"1a","1b","1c","1d","2a","2b","2c","2d","3a","3b","3c","3d"};
    gridView.setAdapter(new my_adapter(this,wtf));
    gridView.setOnItemClickListener(this);
}

@Override
public void onItemClick(final AdapterView adapterView, View view, final int i, long l) {

    new AlertDialog.Builder(this)
            .setTitle("台座号 "+adapterView.getItemAtPosition(i).toString())
            .setMessage("确定开桌?")
            .setPositiveButton("是", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(table.this,adapterView.getItemAtPosition(i).toString()+" 已开桌,请下单。",Toast.LENGTH_SHORT).show();
                }
            })
            .setNegativeButton("否", null)
            .show();
}
}

class my_adapter extends BaseAdapter{

LayoutInflater inflater=null;
Context ctx;
String table_names[];
ArrayList store_table_no;

my_adapter(Context ctx, String table_names[]){
    this.ctx=ctx;
    this.table_names=table_names;
    store_table_no=new ArrayList();
    for (int i=0;i




    



如果再次点击同样item, 窗口再次出现,点击 ok 就返回默认颜色。

巴扎黑
巴扎黑

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号