我很难从// starting a demonstration
public void startDemo() {
ArrayList<Integer> shortestPath = Algorithms.getShortestPath(); // getting the sequence of tile numbers to move
for (Integer tileNumber: shortestPath) {
try {
board.move(tileNumber); // moving a tile
boardView.invalidate(); // redraw on screen
Thread.sleep(500); // trying to make a pause between moves
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
和onItemClickListener
收到回调。这两个都使用onItemSelectedListener
设置如下:
@BindingAdapter
在我看来, @BindingAdapter("someName")
@JvmStatic
fun setUp(view: AutoCompleteTextView, list: List<Item>?) {
portList?.let {
// setting adapter (works fine)
view.setAdapter(ArrayAdapter<String>(view.context, android.R.layout.simple_dropdown_item_1line, it.map {
"${it.name}, ${it.country}" }))
// HERE I'd like to get a call back, but it's not invoked
view.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
Timber.wtf("nothing selected")
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
Timber.wtf("Something selected $position $id")
}
}
}
}
只是不起作用。也许需要更多的代码来连接它?