2011年5月2日 星期一

[POC][筆記][Rhino] Developing Android with JS - onClickListener

上次做的僅止於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, 這樣...很醜...繼續改進