Builder中的Builder(android.app.activity)不能应用于匿名(android.view.View.OnClickListener)

问题描述 投票:-1回答:2

我的错误是Builder中的Builder(android.app.activity)无法应用于匿名(android.view.View.OnClickListener)] >>。我正在尝试添加自定义警报对话框,以在单击信息按钮时弹出该对话框,但不幸的是出现上述错误。


public class MyAdapter extends PagerAdapter {

    String TAG = "MyAdapter";
    Context context;
    List<ItemLoader> itemsList;
    LayoutInflater layoutInflater;

    public MyAdapter(Context context, List<ItemLoader> itemsList) {
        this.context = context;
        this.itemsList = itemsList;
        layoutInflater = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return itemsList.size();
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        ((ViewPager)container).removeView((View)object);
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        View view = layoutInflater.inflate(R.layout.common_fragment,container,false);

        ImageView threeDots = view.findViewById(R.id.info_three_dots);
        ImageView firebase_image = (ImageView)view.findViewById(R.id.image_firebase);
        TextView item_name = (TextView)view.findViewById(R.id.item_name);
        TextView item_bid_amount = (TextView)view.findViewById(R.id.item_bid_amount);

        Picasso.get().load(itemsList.get(position).getImage()).into(firebase_image);
        item_name.setText(itemsList.get(position).getName());
        item_bid_amount.setText(itemsList.get(position).getPrice());

        threeDots.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                      new FancyGifDialog.Builder(this)         
                        .setTitle("Granny eating chocolate dialog box")
                        .setMessage("This is a granny eating chocolate dialog box. This library is used to help you easily create fancy gify dialog.")
                        .setPositiveBtnText("Ok")
                        .setPositiveBtnBackground("#FF4081")
                        .setGifResource(R.drawable.gif1)   //Pass your Gif here
                        .isCancellable(true)
                        .OnPositiveClicked(new FancyGifDialogListener() {
                            @Override
                            public void OnClick() {
                                Toast.makeText(context,"Ok",Toast.LENGTH_SHORT).show();
                            }
                        })
                        .build();
            }
        });

        container.addView(view);
        return view;
    }
}

我在第[[new FancyGifDialog.Builder(this)

]行中出错。我的错误是Builder中的Builder(android.app.activity)无法应用于匿名(android.view.View.OnClickListener)。我正在尝试添加自定义警报对话框,以在单击信息按钮时弹出,但是...
android android-alertdialog
2个回答
0
投票
由于错误,您必须将行从new FancyGifDialog.Builder(this)更改为new FancyGifDialog.Builder((Activity)context)

Builder(android.app.activity)在Builder中不能应用于匿名(android.view.View.OnClickListener)

0
投票
替换此行代码:
© www.soinside.com 2019 - 2024. All rights reserved.