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()”的错误信息