【问题标题】:Intent Chooser does not disapper on single click意图选择器不会在单击时消失
【发布时间】:2014-02-22 12:59:12
【问题描述】:

我正在创建一个 android 应用程序,其中我在主屏幕上有 LISTVIEW。与 LISTVIEW 关联的 LISTETEM 包含一个 IMAGEVIEW(共享图标)。 LISTITEM 的 Onclick 事件我正在尝试显示意图选择器以共享 LISTITEM 的内容,但我的问题是,如果我不对屏幕上显示的 INTENT 选择器执行任何操作,并且我只是尝试按下硬件后退按钮,则当前显示的意图选择器不会消失,它会保留在屏幕上。按返回按钮多次尝试后,尝试 3-4 次后消失。我实际上不希望这种不寻常的行为,它应该在第一次尝试时消失。

        public override View GetView (int position, View convertView, ViewGroup parent)
    {

        var item = items [position];
        View view = convertView;
        if (view == null)
            view = context.LayoutInflater.Inflate (Resource.Layout.HadithListViewItem, null);


        string HadithText = string.Empty;
        string BookName = string.Empty;
        string ChapterName = string.Empty;


        view.FindViewById<TextView> (Resource.Id.HadithText).Text = items [position].HadithText;


        HadithText = view.FindViewById<TextView> (Resource.Id.HadithText).Text;

        BookName = items[position].BookName;;
        ChapterName = items[position].ChapterName.ToString()+ "-" + items[position].HadithID.ToString();



        ImageView share = view.FindViewById<ImageView> (Resource.Id.ShareButton);

        share.Click += (object sender2, EventArgs e2) => {;

            Intent sharingIntent = new Intent(Android.Content.Intent.ActionSend); 
            sharingIntent.SetType("text/plain");


            String shareBody = HadithText;
            sharingIntent.PutExtra(Android.Content.Intent.ExtraSubject, BookName + "(" + ChapterName + ")\n");
            sharingIntent.PutExtra(Android.Content.Intent.ExtraText, shareBody);
            this.context.StartActivity(Intent.CreateChooser(sharingIntent, "Share via"));


        };


        view.FindViewById<TextView> (Resource.Id.HadithBook).Text = BookName;
        view.FindViewById<TextView>(Resource.Id.HadithChapter).Text = ChapterName;
        view.SetOnClickListener (null);



        return view;


    }

【问题讨论】:

    标签: android android-intent xamarin.android xamarin


    【解决方案1】:

    在我看来,您设置了多次点击。我怀疑如果您将点击更改为等于,它应该可以正常工作,只启动一个 onClick 实例。要对其进行测试,请尝试在 Click 例程中记录一些内容。

    share.Click = (object sender2, EventArgs e2)
    

    【讨论】:

    • + 符号是强制性的...它显示编译错误没有 + 并且我只添加一次。
    猜你喜欢
    • 2015-02-06
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2021-08-07
    相关资源
    最近更新 更多