[問題] BindingAdapter listener的奇怪現象已刪文
各位版友好,
我用BindingAdapter的方式想將一個listener綁到spinner上,發現一個奇怪的現象,想
不出是為什麼,想向各位請教...
底下依序分別為BindingAdapter、listener及layout中spinner的code,
@BindingAdapter("app:onSelectedItem")
public static void onItemSelected(Spinner spinner, AdapterView.OnItemSelectedL
istener listener)
{
spinner.setOnItemSelectedListener(listener);
}
public AdapterView.OnItemSelectedListener getOnItemSelectedListener()
{
return new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, lon
g id) {
Log.i("Test",position+"");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
Log.i("Test","Nothing selected");
}
};
}
<Spinner
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:padding="16dp"
android:id="@+id/testSpinner"
android:entries="@{ViewModel.vmControl.ports}"
android:selectedItemPosition="@={ViewModel.vmControl.portIndex}"
app:onSelectedItem="@{Adapter.onItemSelectedListener}"/>
我將spinner中定義id 那一行拿掉,不會正常執行listener中onItemSected底下的code,
但加回去又會正常執行,請問是為什麼呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.103.139 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1627291842.A.BFC.html
※ 編輯: Dong0129 (114.137.103.139 臺灣), 07/26/2021 17:31:23
※ 編輯: Dong0129 (114.137.103.139 臺灣), 07/26/2021 17:31:56
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章