2016-07-14 67 views
1

我正在寻找一种方法来执行此操作。 我有一个内部的JSON文件可突出,例如mystrings.json,就是这个样子:从JSON文件设置xml布局中的文本

{ 
"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"/> 

有一种方法去完成? 我正在寻找,但没有结果。 在此先感谢。

+0

不,你不能做这样的解析某些东西。你必须解析JSON并将'json'的值设置为'textview' –

回答

3

您可以使用Data Binding

  1. 执行此解析您的JSON文件,并设置其模型类(即的usermodel,ErrorModel等)内。在TextView

    <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@{user.error}"/> 
    
  2. 绑定该模型类xml文件

    <data> 
        <variable name="user" type="com.example.User"/> 
    </data> 
    
  3. 设置值执行你的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); 
    } 
    
结合0

这里有一些教程Data Binding,你可以参考这些。

Working with Data Binding Android由拉维Rupareliya
DataBinding: how to develop Android apps faster
No More findViewById由乔治·芒
Develop apps faster using Data Binding – Part 1由Chintan Rathod

+1

正是我想要的,谢谢@RRR – BoraBora