上次做的僅止於setText這個簡單的動作, 那像是處理click這類的怎做?
先拿click來做範例, 在Android中, 如果要替一個view加上處理click動作要利用到View.setOnClickListener, 但setOnClickListener的參數是onClickListener, 這是一個java interface, 在Rhino中如何實作一個Java interface?
首先, 不要被Rhino的文件給騙了, 那有問題(還花了我一個晚上看 :( ), Rhino的source codes裡有個example目錄, 裡面有隻SwingApplication.js, 答案就在這邊
因此, onClick就會像是這樣:
var button1 = findview(R.id(‘button1’));
button1.setOnClickListener(function(view, methodName)
{
if (methodName == “onClick”) {
log(“MyScript”, “clicked”);
} });
在這function內, 必須要自己判斷methodName來知道是哪個method被呼叫到, 應該是所有的java interface都可以用這樣去實作
OK, 這樣…很醜…繼續改進