android多次使用图像
[绿色和红色图像应为线性,且必须分别以点颜色[]的值显示。]android多次使用图像,android,Android,[绿色和红色图像应为线性,且必须分别以点颜色[]的值显示。] @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); dotColors = datasource.getColorsArrayForWeek(tasks.get(position).getId(), ca
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
dotColors = datasource.getColorsArrayForWeek(tasks.get(position).getId(), call.get(Calendar.DAY_OF_YEAR));
LinearLayout tlli = (LinearLayout)v;
jj=0;
jj=0;
while(jj<7)
{
if(dotColors[jj]==0)
{
red=(ImageView) tlli.findViewById(R.id.day1);
}
else if(dotColors[jj]==1)
{
green=(ImageView) tlli.findViewById(R.id.day2);
}
jj++;
Log.i("jj::" +jj," ");
}
return v;
}
@覆盖
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=super.getView(位置、转换视图、父级);
dotColors=datasource.getColorsArrayForWeek(tasks.get(position.getId(),call.get(Calendar.DAY OF年));
线性布局tlli=(线性布局)v;
jj=0;
jj=0;
while(jj
红色=(ImageView)findViewById(R.id.yourimageviewid)
绿色=(ImageView)findViewById(R.id.yourimageviewid)
将其放入oncreate()中
使用setImageBitmap()动态设置图像我想您希望能够看到颜色的变化。您的代码执行得太快,以至于变化不可见,直接导致出现jj=76
的情况。在代码中添加线程。睡眠(毫秒)
,以便能够看到变化
jj = 0;
while (jj < 77) {
if(dotColors[jj]==0) {
// Do your red thingy.
} else {
// Do your green thingy.
}
try {
Thread.sleep(2000); // every 2 secs, you can see the change. Change as per your need
} catch (InterruptedException e) {
//Exception handling
}
Log.i("jj::" +jj," ");
jj++;
}
jj=0;
而(jj<77){
if(点颜色[jj]==0){
//做你的红色衣服。
}否则{
//做你的绿色运动。
}
试一试{
Thread.sleep(2000);//每2秒,您就可以看到更改。根据您的需要进行更改
}捕捉(中断异常e){
//异常处理
}
Log.i(“jj::“+jj,”);
jj++;
}
这是你想要的吗
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
dotColors = datasource.getColorsArrayForWeek(tasks.get(position).getId(), call.get(Calendar.DAY_OF_YEAR));
LinearLayout tlli = (LinearLayout)v;
jj=0;
while(jj<7)
{
if(dotColors[jj]==0)
{
red=(ImageView) tlli.findViewById(R.id.day1);
red.setImageResource(R.drawable.redImage);
}
else if(dotColors[jj]==1)
{
green=(ImageView) tlli.findViewById(R.id.day1);
green.setImageResource(R.drawable.greenImage);
}
jj++;
Log.i("jj::" +jj," ");
}
return v;
}
@覆盖
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=super.getView(位置、转换视图、父级);
dotColors=datasource.getColorsArrayForWeek(tasks.get(position.getId(),call.get(Calendar.DAY OF年));
线性布局tlli=(线性布局)v;
jj=0;
而(jj在布局中,将两个图像视图的可见性都设置为
android:visibility=“消失”
在oncreate方法中
red=(ImageView) tlli.findViewById(R.id.day1);
green=(ImageView) tlli.findViewById(R.id.day2);
状况良好
if(dotColors[jj]==0)
{
red.setVisibility(View.Visible);
red.setBackgroundResource(R.drawable.imageName)
//if ur image in folder res/drawable
}
else if(dotColors[jj]==1)
{
green.setVisibility(View.Visible);
green.setBackgroundResource(R.drawable.imageName1)
}
每次在第1天初始化ImageView时?红色和绿色都有相同的图像引用。您想要实现什么,是否要基于jj值更改ImageView的图像?这将发生得非常快,以至于您只能看到jj=76
的结果。您实际上想要实现什么?这是一种方法de在某个基本适配器类的getView()方法中?只要条件满足,我就想显示相同的图像。像红-绿-红-绿-绿那样,我一定是弄错了。你能给我看一下你的布局屏幕截图或一些图纸吗。或者画出我想要的图像。很高兴帮助你请将ma的声誉提高2:(所以我可以发布图像!!没有图像被修复?7我认为自定义gridview是正确的,每个点都是网格单元吗?我使用了以下代码。red.setImageBitmap(BitmapFactory.decodeResource(this.getResources(),R.drawable.red));我得到了“getResources()”的错误信息