2017-11-01 26 views
0

Android에서 데이터 바인딩을 사용하여 배열에서 양방향 바인딩을 수행하려고합니다.Android 데이터 배열과 바인딩 양방향 바인딩

이 코드의 단순화 된 버전은 내가 가진 :

<data> 
    <variable 
     name="values" 
     type="Integer[]" /> 
</data> 

<EditText 
    ... 
    android:text="@={Converter.toString(values[0])} /> 

을하지만이 코드를 빌드 할 때 다음과 같이 나는 메시지가 : 나는 달성 할 수있는 방법

cannot find method setTo(java.lang.Integer[], int, java.lang.Integer) in class android.databinding.ViewDataBinding

가능한 경우 배열과 양방향 바인딩?

+0

이상한. 이 메소드는 ViewDataBinding.java에 있습니다. void setTo (T [] arr, int index, T value)'- 자신을 확인할 수 있습니다. 당신은 어떻게 든 gradle 플러그인에서 예상했던 것보다 다른 라이브러리 의존성을 지정하고 있습니까? –

+0

내가 언급 한 방법을 확인하고 실제로 발견했습니다. 도서관 의존성은 어디서 볼 수 있습니까? 내 응용 프로그램의 build.gradle에서 이러한 코드 라인을 사용했습니다. 'dataBinding { enabled = true } ' –

답변

1

ArrayList를 사용하여 다음과 같은 방법으로 시도해보십시오.

<data> 
    <import type="java.util.ArrayList"/> 
    <variable 
     name="values" 
     type="ArrayList&lt;Integer&gt;"/> 
</data> 

<EditText 
    ... 
    android:text="@={Converter.toString(values.get(0))} /> 
+0

감사합니다. @sanoop, 저에게 도움이되었습니다. 나는 왜 정수가 다른 게시물에 대한 대답으로 그것을 사용하여 @ George Mount를 보았 기 때문에 정수가 왜 작동하지 않는지 알아 내려고 노력하고 있었다. –