【发布时间】:2012-02-04 21:07:12
【问题描述】:
如何在网格中设置备用单元格颜色? 我发现了很多问题/教程 关于如何设置行颜色但没有 关于细胞的颜色。 提前致谢
【问题讨论】:
标签: android
如何在网格中设置备用单元格颜色? 我发现了很多问题/教程 关于如何设置行颜色但没有 关于细胞的颜色。 提前致谢
【问题讨论】:
标签: android
如果你有很多listView的例子,为什么不直接使用getView方法,因为getView方法用于适配器,适配器用于视图、列表和网格。只需根据adapterview中view的位置设置view的背景即可。
protected void getView(AdapterView<> adapterView, View convertView, int position, long id)
{
LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View view =inflater.inflate(yourlayout.xml, null);
if(position%2==0)
view.setBackgroundColor(color1);
else
view.setBackgroundColor(color2);
return view;
}
【讨论】:
向前迈出一步,它起作用了
public class ListViewA extends Activity {
GridView MyGrid;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyGrid = (GridView) findViewById(R.id.gridview);
MyGrid.setAdapter(new ImageAdapter(this));
}
public class ImageAdapter extends BaseAdapter {
Context MyContext;
public ImageAdapter(Context _MyContext) {
MyContext = _MyContext;
}
@Override
public int getCount() {
return 9;
}
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (convertView == null) {
LayoutInflater li = getLayoutInflater();
view = li.inflate(R.layout.main, null);
}
if (position % 2 == 0)
view.setBackgroundColor(0x30FF0000);
else
view.setBackgroundColor(0x300000FF);
return view;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
}
}
【讨论】: