【问题标题】:Listview scrolling down issueListview向下滚动问题
【发布时间】:2014-09-04 21:25:55
【问题描述】:

在一些没有结果的研究之后,我来到这里寻求一点帮助。

这是我的问题:

一个列表视图,显示安装在我的设备上的应用程序列表(名称和图标)。 显示应用程序,但当我滚动时,元素重叠。

这是我的 onCreate(活动):

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        final PackageManager pm = this.getPackageManager();

        Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        //
        final ArrayList<ResolveInfo> list = (ArrayList<ResolveInfo>) pm
            .queryIntentActivities(intent,
                    PackageManager.PERMISSION_GRANTED);

        ApplicationsAdapter adapter = new ApplicationsAdapter(getApplicationContext(),R.id.lv_home, list, pm);


        ListView lv = (ListView) findViewById(R.id.lv_home);

        lv.setAdapter(adapter);
    }

这是我的自定义适配器:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolderListViewHome holder = null;
    if (convertView == null) {
        convertView = LayoutInflater.from(parent.getContext()).inflate(
                R.layout.list_item, parent, false);
        holder = new ViewHolderListViewHome(convertView);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolderListViewHome) convertView.getTag();
    }

    final String text = mList.get(position).activityInfo.applicationInfo
            .loadLabel(mPm).toString();

    holder.applicationName = holder.getApplicationName();

    holder.applicationName.setText(text);

    final Drawable drawable = mList.get(position).activityInfo.applicationInfo
            .loadIcon(mPm);

    holder.applicationIcon = holder.getApplicationIcon();

    holder.applicationIcon.setImageDrawable(drawable);

    return convertView;
}

我想给你看一张图片,但我没有所需的声誉,向下滚动时元素只是重叠。

提前感谢您的帮助:)

【问题讨论】:

    标签: android listview scroll


    【解决方案1】:

    假设您的 ViewHolder 是静态的。删除 holder.applicationIcon = holder.getApplicationIcon() 和类似调用。只需使用 holder.applicationIcon.setImageDrawable(drawable) - 对您的文本视图的建议相同。

    【讨论】:

    • 您好比尔,感谢您的回答。我的 ViewHolder 不是静态的,我尝试将其设为静态并以静态方式调用我的属性,但没有任何改变,元素仍然相互重叠。
    猜你喜欢
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 2015-03-27
    • 2011-02-19
    • 2021-12-16
    • 2017-08-10
    相关资源
    最近更新 更多