色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

android - 如果通過(guò)點(diǎn)擊更換Gridview 的指定Item 背景顏色

瀏覽:104日期:2024-08-30 16:45:55

問(wèn)題描述

我的情況是這樣的。 主界面是用Gridview展示出餐廳里的餐桌情況。

默認(rèn)情況下,每個(gè)桌子都是綠色背景。 如果點(diǎn)擊該item, 會(huì)出現(xiàn)一個(gè)Dialog 窗口;提示是否開桌子。 如果點(diǎn)擊是,該item的背景顏色更換為紅色。

以下是我的代碼,請(qǐng)大神們指點(diǎn)迷津!

public class table extends AppCompatActivity implements AdapterView.OnItemClickListener{GridView gridView;@Overrideprotected 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);}@Overridepublic void onItemClick(final AdapterView<?> adapterView, View view, final int i, long l) { new AlertDialog.Builder(this) .setTitle('臺(tái)座號(hào) '+adapterView.getItemAtPosition(i).toString()) .setMessage('確定開桌?') .setPositiveButton('是', new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) { Toast.makeText(table.this,adapterView.getItemAtPosition(i).toString()+' 已開桌,請(qǐng)下單。',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<Integer>(); for (int i=0;i<table_names.length;i++){store_table_no.add(table_names[i]); }}@Overridepublic int getCount() { return store_table_no.size();}@Overridepublic Object getItem(int i) { return store_table_no.get(i);}@Overridepublic long getItemId(int i) { return i;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) { View row=view; if(row==null){inflater=(LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);row=inflater.inflate(R.layout.single,null); } TextView tv_table_no=(TextView)row.findViewById(R.id.table_no); tv_table_no.setText(''+store_table_no.get(i)); return row;}}// 這個(gè)是 row.xml <?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android'android:orientation='vertical' android:layout_width='match_parent'android:layout_height='match_parent'><RelativeLayout android:layout_width='170dp' android:layout_height='100dp' android:background='@android:color/holo_green_dark' android:layout_centerHorizontal='true' android:layout_centerVertical='true'> <TextViewandroid:text='101'android:layout_width='wrap_content'android:layout_height='wrap_content'android: android:layout_centerVertical='true'android:layout_centerHorizontal='true' /></RelativeLayout></RelativeLayout>

android - 如果通過(guò)點(diǎn)擊更換Gridview 的指定Item 背景顏色

如果再次點(diǎn)擊同樣item, 窗口再次出現(xiàn),點(diǎn)擊 ok 就返回默認(rèn)顏色。

問(wèn)題解答

回答1:

用selector文件做item的背景顏色例如

selector_item_bg.xml放到資源文件夾res/color/中

<?xml version='1.0' encoding='utf-8'?><selector xmlns:android='http://schemas.android.com/apk/res/android'> <item android:color='@color/red' android:state_selected='true'/> <item android:color='@color/green' android:state_selected='false'/></selector>

其中@color/red和@color/green自己添加

然后在item的layout中添加背景色, 就是你的row.xml

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android'android:orientation='vertical' android:layout_width='match_parent'android:layout_height='match_parent'android:background='@color/selector_item_bg'>...省略中間的內(nèi)容</RelativeLayout>

關(guān)鍵代碼就是android:background='@color/selector_item_bg'把上面的selector設(shè)置成item的背景色.

當(dāng)你點(diǎn)擊開桌的時(shí)候把對(duì)應(yīng)的item的ViewsetSelected(true)就可以變成紅色了.

在代碼里面大概是修改你的onItemClick()

@Overridepublic void onItemClick(final AdapterView<?> adapterView, final View view, final int i, long l) { new AlertDialog.Builder(this) .setTitle('臺(tái)座號(hào) '+adapterView.getItemAtPosition(i).toString()) .setMessage('確定開桌?') .setPositiveButton('是', new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) { Toast.makeText(table.this,adapterView.getItemAtPosition(i).toString()+' 已開桌,請(qǐng)下單。',Toast.LENGTH_SHORT).show(); // 這個(gè)view就是被點(diǎn)擊的item, 也就是row.xml渲染出來(lái)的view // 把它設(shè)置為selected, selector就會(huì)使其變色 // 根據(jù)selector_item_bg.xml, true對(duì)應(yīng)red, false對(duì)應(yīng)green view.setSelected(true);} }) .setNegativeButton('否', null) .show(); }}

關(guān)鍵點(diǎn)就這些, 其他細(xì)節(jié)百度吧

相關(guān)文章:
主站蜘蛛池模板: 福利片成人午夜在线 | 国产精品久久久久久久久 | 污全彩肉肉无遮挡彩色 | 高清一级片 | 欧美一区二区三区国产精品 | 9cao视频精品 | 成年午夜性爽快免费视频不卡 | 六月丁香婷婷色狠狠久久 | 毛片搜索 | 国产色爽女小说免费看 | 欧美乱爱 | 国产区一区| 精品国产免费人成在线观看 | 欧美一级片手机在线观看 | 亚洲国产精品激情在线观看 | 男女牲高爱潮免费视频男女 | 亚洲欧美日韩在线一区 | 男女交性拍拍拍高清视频 | 国产精品久久久久久久久久久搜索 | 亚洲天堂影院在线观看 | 久久亚洲精品中文字幕三区 | 日本国产在线视频 | 91成人软件| 久久综合一本 | 大学生一级一片第一次免费 | 国产区香蕉精品系列在线观看不卡 | 免费在线看黄网址 | 日本一区毛片免费观看 | 精品三级国产一区二区三区四区 | 日韩欧美在线播放 | 狠狠色综合网站久久久久久久 | 91.久久 | 欧美日韩ay在线观看 | 国产精品露脸脏话对白 | 欧美成人www在线观看网页 | 国产精品合集久久久久青苹果 | 亚洲区免费 | 亚洲an日韩专区在线 | 亚洲精品人成网在线播放影院 | www.亚洲天堂网 | 国内亚州视频在线观看 |