从JSON文件在xml布局中设置文本

时间:2016-07-14 13:14:43

标签: android json xml string android-contentprovider

我正在寻找一种方法来做到这一点。 我'有一个JSON文件可能在项目中,例如mystrings.json,就像这样:

{
"ErrorCodes.1": "Hai superato il tempo limite",
"ErrorCodes.2": "Hai superato il tempo limite"
}

我想以这种方式使用这个json:

<TextView
  android:text="@ErrorCodes.1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>

有办法实现吗? 我正在搜索但没有结果。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用Data Binding

执行此操作
  1. 解析您的JSON文件并将其设置在模型类中(即UserModel,ErrorModel等)。
  2. 将该模型类绑定到xml文件

    <data>
      <variable name="user" type="com.example.User"/>
    </data>
    
  3. TextView

    中设置值
    <TextView android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@{user.error}"/>
    
  4. Activity

    中执行绑定
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
        User user = get your model class here;
        binding.setUser(user);
    }
    
  5. 以下是Data Binding的一些教程,您可以参考这些教程。

    Ravi Rupareliya的

    Working with Data Binding Android
    DataBinding: how to develop Android apps faster
    乔治山的No More findViewById Chintan Rathod Develop apps faster using Data Binding – Part 1