图像按钮未显示在列表视图中

时间:2017-05-24 09:15:57

标签: c# android listview xamarin

我试图在listview中的行上删除按钮。但是在设计器中按钮显示但是在调试或运行应用程序时我看不到它。这是我的代码。

适配器:

using System.Collections.Generic;
using Android.App;
using Android.Graphics;
using Android.Views;
using Android.Widget;
using CardAppReal.Lib.Models;
using Square.Picasso;

namespace CardAppReal.Assets
{
    public class ListAdapter : BaseAdapter<Card>
    {
        List<Card> items;
        Activity context;
        public ListAdapter(Activity context, List<Card> items)
            : base()
        {
            this.context = context;
            this.items = items;
        }
        public override long GetItemId(int position)
        {
            return position;
        }
        public override Card this[int position]
        {
            get { return items[position]; }
        }
        public override int Count
        {
            get { return items.Count; }
        }
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            var item = items[position];
            View view = convertView;
            if (view == null) // no view to re-use, create new
                view = context.LayoutInflater.Inflate(NavigationDrawerTest.Resource.Layout.CardSavedRowLayout, null);
            view.FindViewById<TextView>(NavigationDrawerTest.Resource.Id.TextCardSavedList1).Text = item.name;
            view.FindViewById<TextView>(NavigationDrawerTest.Resource.Id.TextCardSavedList2).Text = item.supertype;
            view.FindViewById<TextView>(NavigationDrawerTest.Resource.Id.TextCardSavedList3).Text = item.set;
            Picasso.With(context).Load(item.imageUrl).Into(view.FindViewById<ImageView>(NavigationDrawerTest.Resource.Id.CardSavedImage));
            var imgButton = view.FindViewById<ImageButton>(NavigationDrawerTest.Resource.Id.ImgButtonSaved);
            view.SetBackgroundColor(Color.Argb(150, 153, 217, 234));
            return view;
        }
    }
}

xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#FFDAFF7F"
    android:padding="8dp">
    <ImageButton
        android:id="@+id/ImgButtonSaved"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:src="@drawable/delete"
        android:layout_alignParentLeft="true"
        android:gravity="center" />
    <LinearLayout
        android:id="@+id/TextCardList"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="10dip">
        <TextView
            android:id="@+id/TextCardSavedList1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FF7F3300"
            android:textSize="20dip"
            android:textStyle="italic" />
        <TextView
            android:id="@+id/TextCardSavedList2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="14dip"
            android:textColor="#FF267F00"
            android:paddingLeft="5dip" />
        <TextView
            android:id="@+id/TextCardSavedList3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="14dip"
            android:textColor="#FF267F00"
            android:paddingLeft="5dip" />
    </LinearLayout>
    <ImageView
        android:id="@+id/CardSavedImage"
        android:layout_width="100dp"
        android:layout_height="150dp"
        android:padding="10dp"
        android:src="@drawable/icon"
        android:layout_alignParentRight="true" />
</RelativeLayout>

尝试了几件但没有显示的东西。 ImageView通常显示它应该如此。不知道我哪里出错了。我认为它在我的适配器中我需要做更多,然后简单地声明imgbutton。但我不知道自己需要做些什么。

1 个答案:

答案 0 :(得分:0)

看了几个小时后,我最终意识到我使用的是错误的适配器......这对开发时间来说是一个很大的浪费。我希望当别人看到这个时,他们会仔细检查他们正在使用的适配器。

感谢您的光临!