Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在android';s自定义列表视图_Android_Json_Listview_Android Listview - Fatal编程技术网

无法在android';s自定义列表视图

无法在android';s自定义列表视图,android,json,listview,android-listview,Android,Json,Listview,Android Listview,最近,我成功地在android中创建了一个自定义listview,用于显示列表中的图像。然而,我有一个我无法解决的问题。 我试着做的很简单,1。通过web向与json数据日期相同的列表项显示闪烁图标。2.显示listview第2和第3个位置的图像。3.对于其余的列表项,将不会显示任何图像 我在自定义适配器的getView方法中有一个简单的编码,它实际上将当前日期与通过web从json数据检索的日期进行比较。我已经在下面设置了我正在使用的函数 如果当前日期等于json数据中的日期,它将显示一个闪烁

最近,我成功地在android中创建了一个自定义listview,用于显示列表中的图像。然而,我有一个我无法解决的问题。 我试着做的很简单,1。通过web向与json数据日期相同的列表项显示闪烁图标。2.显示listview第2和第3个位置的图像。3.对于其余的列表项,将不会显示任何图像

我在自定义适配器的getView方法中有一个简单的编码,它实际上将当前日期与通过web从json数据检索的日期进行比较。我已经在下面设置了我正在使用的函数

如果当前日期等于json数据中的日期,它将显示一个闪烁的图像(出于测试目的,我使用2015/05/14)。如果位置等于第2或第3个位置,则显示图标。别的什么也看不出来。 但是,有些图像显示在listview的随机位置。我的代码中有错误吗?怎么可能不显示不符合条件的图标

if (days.get(position).trim().toString().equals("2015/05/14")||days.get(position).trim().toString()=="2015/05/14") {

    holder.left.setBackgroundResource(R.drawable.blinker);
    AnimationDrawable frameAnimation = (AnimationDrawable) holder.left
            .getBackground();

    // Start the animation (looped playback by default).
    frameAnimation.start();

}else{
     holder.left.setImageResource(android.R.color.transparent);
}

if(position==1||position==2){

    holder.left.setImageResource(R.drawable.new1);

}else{
     holder.left.setImageResource(android.R.color.transparent);
}

if(position==getCount()-1){
     holder.left.setImageResource(android.R.color.transparent);
}



return convertView;
}
在随后的
getView()
调用中,我们使用
mBlinkingIndex
来确定

因为我们需要使用drawable
new1设置第二行和第三行

    if((position = (mBlinkingIndex+1) || (position == (mBlinkingIndex+2)){
        // this row is special
        holder.left.setImageResource(R.drawable.new1);

    }else{
        // this row is not special
         holder.left.setImageResource(android.R.color.transparent);
    }
因此,
getView()
看起来像:

    if (days.get(position).trim().toString().equals("2015/05/14")||days.get(position).trim().toString()=="2015/05/14") {

    holder.left.setBackgroundResource(R.drawable.blinker);
    AnimationDrawable frameAnimation = (AnimationDrawable) holder.left
        .getBackground();

    // Start the animation (looped playback by default).
    frameAnimation.start();

    // set variable with index of blinking row
    mBlinkingIndex = position;



   }else{
     holder.left.setImageResource(android.R.color.transparent);
   }

   if((position = (mBlinkingIndex+1) || (position == (mBlinkingIndex+2)){
        // this row is special
        holder.left.setImageResource(R.drawable.new1);

    }else{
        // this row is not special
         holder.left.setImageResource(android.R.color.transparent);
    }

谢谢你,库沙尔!当我有时间的时候,我会测试你的方法!我会告诉你结果@用户3867627您是否检查了上述解决方案?
    if (days.get(position).trim().toString().equals("2015/05/14")||days.get(position).trim().toString()=="2015/05/14") {

    holder.left.setBackgroundResource(R.drawable.blinker);
    AnimationDrawable frameAnimation = (AnimationDrawable) holder.left
        .getBackground();

    // Start the animation (looped playback by default).
    frameAnimation.start();

    // set variable with index of blinking row
    mBlinkingIndex = position;



   }else{
     holder.left.setImageResource(android.R.color.transparent);
   }

   if((position = (mBlinkingIndex+1) || (position == (mBlinkingIndex+2)){
        // this row is special
        holder.left.setImageResource(R.drawable.new1);

    }else{
        // this row is not special
         holder.left.setImageResource(android.R.color.transparent);
    }