2

そのため、私はかなり長い間 Android で開発を行っており、ネイティブの .Net 開発者です。私が直面している問題は、私のコードが見栄えが悪いことです。Java\Android がクリック イベントをコードに表示させる方法が本当に嫌いです。以下のこの例では、クリック イベントを持つリスト ビューがあります。

list_view.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            // TODO Auto-generated method stub

        }
    });

.Net では、Initialize Components メソッドでクリック イベントを設定し、それをメイン コード ページに実装していました。そこでコードを参照するのではなく、コード内で以下のクリック イベント メソッドを使用するように Android に指示するにはどうすればよいですか。たぶん、このようなものですか?

list_view.setOnItemClickListener(onItemClick());

後で私のコードページで。

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub

    }
});

全体として、イベントをコントロールに配線するためのよりクリーンなアプローチを探しているだけなので、コードをよりよく読むことができます。もともと .Net 開発者だったときに、Java と Android に移行するのは苦労です。

ありがとう!

編集

以下の回答をありがとう、私はここに自分の作品を投稿しました。

list_view.setOnItemClickListener(list_view_onItemClickListener);


//below in my code
private OnItemClickListener  list_view_onItemClickListener = new OnItemClickListener (){
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub

    }

};
4

2 に答える 2

3

あなたはこれを試すことができます!

于 2012-05-07T02:58:46.917 に答える
1

あなたは好きかもしれませんが、私が私にとって最も良いと思ったアプローチは、例えばこれはあなたのlayout.xml

<Button1 android:id="@+id/btn1"  android:onClick="btnHandle">

</Button1>

<Button2 android:id="@+id/btn2 android:onClick="btnHandle">

</Button2>

そしてあなたの中でactivity.Java

public void btnHandle(View v)
{
  if(v.getId()==R.id.btn1){


}else if(v.getId()==R.id.btn2){

}

このアプローチでは、インターフェイスを実装する必要はなく、ボタンビューをImageViewに変更した場合でも、コードで何もする必要はありません。ただし、タイプをButtonからsetOnClickListenerに変更する必要がある場合。}instance variableImageView

于 2012-05-07T04:40:51.533 に答える