Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按钮中的按钮(android.content.Context)不能应用于(Java.lang.Object)_Java_Android_Arrays_Button - Fatal编程技术网

按钮中的按钮(android.content.Context)不能应用于(Java.lang.Object)

按钮中的按钮(android.content.Context)不能应用于(Java.lang.Object),java,android,arrays,button,Java,Android,Arrays,Button,我正在尝试动态创建按钮以匹配数据表。我用它作为参考点,但是我一直得到错误代码:按钮中的按钮(android.content.Context)不能应用于(Java.lang.Object) 我尝试了多种方法来减少错误代码,但我不知道如何修复它。我尝试将映射设置为数组,但这也不起作用。代码已成功计数,并显示了数据,但我无法让它添加所需的按钮 Backendless.Data.of( "Store" ).find( queryBuilder, new AsyncCallback<List<

我正在尝试动态创建按钮以匹配数据表。我用它作为参考点,但是我一直得到错误代码:
按钮中的按钮(android.content.Context)不能应用于(Java.lang.Object)
我尝试了多种方法来减少错误代码,但我不知道如何修复它。我尝试将映射设置为数组,但这也不起作用。代码已成功计数,并显示了数据,但我无法让它添加所需的按钮

 Backendless.Data.of( "Store" ).find( queryBuilder, new AsyncCallback<List<Map>>()
                {
                    @Override
                    public void handleResponse( List<Map> response )
                    {

                       int numBrands = response.size();

                       Button brandButtons[] = new Button[numBrands];

          System.out.println("The Count of Buttons:" + numBrands);

           ArrayList<Brands> productList  = new ArrayList<>();



             Object[] arrayList = {response};
            for(int i = 0; i < brandButtons.length; i++)
                        {

                        Button brans = new Button(productList[i]);

                            brans.setOnClickListener();
                            add(brans);
                            brandButtons[i] = brans;




                            //Object element = thisIsAStringArray[i];
                            System.out.println( "List of Brands" + response );




                        }

                    }
backfundle.Data.of(“Store”).find(queryBuilder,new AsyncCallback())
{
@凌驾
公共无效处理响应(列表响应)
{
int numBrands=response.size();
按钮品牌Buttons[]=新按钮[numBrands];
System.out.println(“按钮计数:“+numBrands”);
ArrayList productList=新的ArrayList();
对象[]arrayList={response};
对于(int i=0;i
您的错误在这一行:

Button brans = new Button(productList[i]); // here
类需要将上下文传递给它的构造函数调用,而不是传递对象类型

像这样使用,

Button brans = new Button(context); // here context can be activity or fragment.

//now use this brans object to set property to your programmatically created Button, 
//don't forget to add it to your parent view afterwards
正如您在文档中所看到的,要创建按钮对象,您需要传递一个
上下文
对象。在您的代码中,您传递了一个
品牌
的对象,这是导致问题的原因


解决方案是将一个上下文传递给
按钮(context)
构造函数。如果你在一个活动中,它将类似于新的
按钮(YourActivity.this)
,在一个片段中,你可以使用
新按钮(getContext())

只是我的一个愚蠢的疏忽,谢谢,哈哈,没有问题,有时会发生。