Как отфильтровать изображение Gridview с помощью BaseAdapter и загрузить изображение из активов? - PullRequest
0 голосов
/ 23 октября 2019

Как отфильтровать изображение Gridview с помощью BaseAdapter и загрузить изображение из активов ?? Я не нашел способ поиска. Я пробовал Fitter, но он был недоступен.

    private void SearchView_QueryTextChange(object sender, SearchView.QueryTextChangeEventArgs e)
    {
          //Need Help SearchView in GridView
    }

Я не нашел способа добавить изображения из активов.

public class ImageAdapter : BaseAdapter
{
    Context context;
    public override View GetView(int position, View convertView, ViewGroup parent)
    {
        View view;

        if (convertView == null)
        {
            view = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.Item_ConvertView, parent, false);
                 /*Need Help Load From Assets*/
            ImageView imageView = view.FindViewById<ImageView>(Resource.Id.imageViewX);
            imageView.SetImageResource(thumbIds[position]);

            TextView textView = view.FindViewById<TextView>(Resource.Id.textViewX);
            textView.Text = nameIds[position];
        }
        else
        {
            view = convertView;
        }

        return view;
    }
    private int[] thumbIds = {
    Resource.Drawable.A, Resource.Drawable.B,Resource.Drawable.C
             };
    private string[] nameIds =
    {
        "A","B","C"
    };
}

Я пытаюсь сделать Assets.Open, но это не обязательноиспользовать.

1 Ответ

0 голосов
/ 23 октября 2019

Используйте метод AssetManager.Open() для получения потока изображения. Затем декодируйте поток в растровое изображение и установите для него ImageView.

Проверьте код: Activity.cs

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    internal static MainActivity Instance { get; private set; }
    protected override void OnCreate(Bundle savedInstanceState)
    {
        Instance = this;
        ...
    }
}

custom_class.cs

Context context = MainActivity.Instance;

ImageView image = FindViewById<ImageView>(Resource.Id.image);

AssetManager assets = context.Assets;
Stream stream = assets.Open("code.png");
image.SetImageBitmap(BitmapFactory.DecodeStream(stream));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...