Кнопка (android.content.Context) в кнопке не может быть применена (Java.lang.Object) - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь динамически создать кнопки, соответствующие таблице данных.Я использовал этот ответ в качестве контрольной точки, однако я продолжаю получать этот код ошибки: Button (android.content.Context) in Button Cannot be Applied to (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 );




                        }

                    }

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Как вы можете видеть в документации Button , чтобы создать объект кнопки, вам нужно передать объект Context.В вашем коде вы передаете объект Brands, который вызывает проблему.

Решением будет передача контекста конструктору Button(Context).Если вы в Activity это что-то вроде Button(YourActivity.this), во фрагменте вы можете использовать new Button(getContext())

0 голосов
/ 29 сентября 2018

Ваша ошибка здесь в этой строке:

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

Button класс ожидает Context, переданный его конструкторувызов и вы передаете тип объекта вместо.

Используйте вот так,

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...