带有单选列表的 AlertDialog - 我需要一些不可点击的项目

发布于 2024-12-25 20:10:14 字数 925 浏览 2 评论 0原文

我有带有单选列表的 AlertDialog 。 我想在里面放一些“假”物品 - 例如以下物品的标签。我对常规项目和“标签”项目使用不同的布局。就可以了。 我的问题是:如何使标签不可点击?

这是我的 getView 代码:

// @Override
public View getView(int position, View convertView, ViewGroup parent)
{
if (m_data.get(position).BaseElementType == ElementType.Divider)
{
    convertView = m_li.inflate(this.m_groupResurceID, null);
    TextView post = (TextView)convertView.findViewById(R.id.text1);
    post.setText(m_data.get(position).TypeToString());
    post.getClickable();
}
else
{
    convertView = m_li.inflate(this.m_itemResurceID, null);

    TextView post = (TextView)convertView.findViewById(R.id.text1);
    post.setText(m_data.get(position).Header);

    ImageView img = (ImageView)convertView.findViewById(R.id.image1);
    Drawable dr = m_data.get(position).TypeToIconId();
    dr.setColorFilter(BGMapsApp.IconColor, PorterDuff.Mode.SRC_ATOP);
    img.setImageDrawable(dr);
}

I have AlertDialog with single choice list.
I want to put some 'fake' items inside - like labels of following items. I'm using different layout for regular item and for 'label' item. It it OK.
My problem is: How to make labels NON clickable?

Here is my getView code:

// @Override
public View getView(int position, View convertView, ViewGroup parent)
{
if (m_data.get(position).BaseElementType == ElementType.Divider)
{
    convertView = m_li.inflate(this.m_groupResurceID, null);
    TextView post = (TextView)convertView.findViewById(R.id.text1);
    post.setText(m_data.get(position).TypeToString());
    post.getClickable();
}
else
{
    convertView = m_li.inflate(this.m_itemResurceID, null);

    TextView post = (TextView)convertView.findViewById(R.id.text1);
    post.setText(m_data.get(position).Header);

    ImageView img = (ImageView)convertView.findViewById(R.id.image1);
    Drawable dr = m_data.get(position).TypeToIconId();
    dr.setColorFilter(BGMapsApp.IconColor, PorterDuff.Mode.SRC_ATOP);
    img.setImageDrawable(dr);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏大泽ㄣ 2025-01-01 20:10:14

答案就是这么简单!
只需将其放入适配器代码中:

    public boolean isEnabled(int position)
    {
        //return super.isEnabled(position);
        return (m_data.get(position).BaseElementType != ElementType.Divider);
    }

现在有些项目变得不可点击:)

The answer is so simple!
Just put this to adapter code:

    public boolean isEnabled(int position)
    {
        //return super.isEnabled(position);
        return (m_data.get(position).BaseElementType != ElementType.Divider);
    }

Now some items become non clickable :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文