我的情况是这样的。 主界面是用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 就返回默认颜色。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号