2016-07-14 5 views
1

Ich suche nach einer Möglichkeit, dies zu tun. ich eine JSON-Datei‘innen kann projizieren, zum Beispiel mystrings.json haben, dass ist wie folgt:Legen Sie Text innerhalb von XML-Layout aus JSON-Datei

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

ich dieses json auf diese Weise verwenden möchten:

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

Es gibt einen Weg erreichen? Ich suche aber ohne Ergebnisse. Vielen Dank im Voraus.

+0

kein Sie kann nicht wie diese Parse etwas tun. Sie müssen den JSON parsen und den 'json'-Wert auf die 'textview' setzen. –

Antwort

3

Sie können dies mit Data Binding Verwendung von

  1. Parsen Ihre JSON Datei ausführen und es in Modellklasse gesetzt (d. UserModel, ErrorModel usw.).
  2. binden, die Modellklasse zu xml Datei

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

    <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@{user.error}"/> 
    
  4. Perform in Ihrem 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); 
    } 
    
Bindung

Hier sind einige Tutorials von Data Binding, Sie können diese beziehen.

Working with Data Binding Android von Ravi Rupareliya
DataBinding: how to develop Android apps faster
No More findViewById von George Mount
Develop apps faster using Data Binding – Part 1 von Chintan Rathod

+1

Genau das, was ich will, danke @RRR – BoraBora

Verwandte Themen