Я пытаюсь использовать Proteus для получения динамических представлений с помощью JSON в простом приложении для Android. Но я получаю исключение нулевого указателя - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь использовать proteus для получения динамических представлений с помощью json в простом приложении для Android. Но я получаю исключение нулевого указателя.`

 JsonReader readerlayout = new JsonReader(new StringReader("layouts.json"));

 readerlayout.setLenient(true);

  JsonReader readerdata = new JsonReader(new StringReader("user.json"));

 readerdata.setLenient(true);

try {

layout = proteusTypeAdapterFactory.LAYOUT_TYPE_ADAPTER.read(readerlayout);

data = proteusTypeAdapterFactory.OBJECT_TYPE_ADAPTER.read(readerdata);

} 
catch (IOException e) 
{
   throw new RuntimeException(e);
}

view = layoutInflater.inflate(layout, data, container, 0);
container.addView(view.getAsView());`

, несмотря на наличие json файлов для макета и данных в папке ресурсов, я получаю эту ошибку.

java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.flipkart.android.proteus.value.Layout.type' on a null object reference

Заранее спасибо.

1 Ответ

0 голосов
/ 02 июля 2019

Могу ли я предложить проверить simple-proteus-demo .

В первую очередь вам необходимо выполнить следующие действия для правильной работы протея:

  1. создать новый экземпляр протея.
  2. зарегистрируйте протей с фабрикой ProteusTypeAdapter, чтобы десериализовать JSON протей
  3. десериализация макета и данных с помощью ProteusTypeAdapterFactory
  4. создайте новый контекст Proteus и получите ProteusLayoutInflater
  5. надуть макет
  6. получите Android View от ProteusView и используйте его как обычно
...