java - 自定义设计listview位置错误

标签 java android arrays listview

自定义设计Listview博客图像

image

我想创建如上图所示的内容,其中显示最新博客,其他博客则遵循备用布局。

我已经创建了奇偶跟随循环,但它不起作用,当滚动它从第一个位置加载的 ListView 时,

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (inflater == null)
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    int layoutResource = 0; // determined by view type
    int viewType = getItemViewType(position);
    switch (viewType) {
        case 0:
            layoutResource = R.layout.news_row;
            break;

        case 0:
            layoutResource = R.layout.news_row_even;
            break;

        case 1:
            layoutResource = R.layout.news_row_odd;
    }
    if (convertView == null)
        convertView = inflater.inflate(layoutResource, null);

    TextView txtNewsTitle = (TextView) convertView.findViewById(R.id.news_title);
    txtNewsTitle.startAnimation(AnimationUtils.loadAnimation(this.activity, R.anim.fade_in));
    txtNewsTitle.setTypeface(Utils.getTypeFace(Utils.Fonts.ROBOTO));


    TextView txtMessage = (TextView) convertView.findViewById(R.id.message);
    txtMessage.setTypeface(Utils.getTypeFace(Utils.Fonts.ROBOTO));
    txtMessage.startAnimation(AnimationUtils.loadAnimation(this.activity, R.anim.fade_in));


    TextView txtAgo = (TextView) convertView.findViewById(R.id.ago);
    txtAgo.setTypeface(Utils.getTypeFace(Utils.Fonts.ROBOTO));
    txtAgo.startAnimation(AnimationUtils.loadAnimation(this.activity, R.anim.fade_in));

    int MAX_WIDTH = Utils.getScreenWidth() / 2;
    int MAX_HEIGHT = MAX_WIDTH;

    final PNewsData news = (PNewsData) getItem(position);
    int n = 0;

    Log.e("position", String.valueOf(position));

    txtNewsTitle.setText(news.title);
    txtMessage.setText(news.description.substring(0, Math.min(news.description.length(), 120)) + "...");
    txtAgo.setText(news.added);


    if (news.images.get(0).path != null) {
        p.load(Config.APP_IMAGES_URL + news.images.get(0).path)
                .transform(new BitmapTransform(MAX_WIDTH, MAX_HEIGHT))
                .into(imgNewsPhoto);
    }


    return convertView;
}

最佳答案

首先纠正 case不。

          case 0:

            layoutResource = R.layout.news_row;
            break;

        case 1:

            layoutResource = R.layout.news_row_even;
            break;

        case 2:
            layoutResource = R.layout.news_row_odd;

关于java - 自定义设计listview位置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47348007/

相关文章:

java - 来自 vertx RoutingContext 的 KeycloakSecurityContext

javascript - 解析 JSON 数组出现错误

arrays - 将矩阵转换为一维数组

c - 在 C 中用方法定义数组

java - 如何用泛型实现枚举?

java - "this."代码空白输出,主要功能

java - 尝试使用 XPage 将多值字段连接到 Java Bean 时类型不匹配

java - HTML Spanner 。合并到 Eclipse 项目中

android - 服务器不活动时在 Flurl Http 调用中获取 Unhanded Exception

android - 为什么隐藏软键盘后EditText不会失去焦点?