1

我正在尝试使用 proteus 在一个简单的 android 应用程序中使用 json 获取动态视图。但是我得到了空指针异常。`

 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

提前致谢。

4

1 回答 1

0

我可以建议检查一下simple-proteus-demo

首先,您需要执行以下操作才能使 proteus 正常工作:

  1. 创建一个新的 proteus 实例。
  2. 使用 ProteusTypeAdapterFactory 注册 proteus 以反序列化 proteus JSON
  3. 使用 ProteusTypeAdapterFactory 反序列化布局和数据
  4. 创建一个新的 Proteus Context 并获得一个 ProteusLayoutInflater
  5. 膨胀布局
  6. View从获取 AndroidProteusView并像往常一样使用它
于 2019-07-02T15:44:04.007 回答