Bescottee苦しいときは伸びてるとき、楽なときは伸びていないとき

2 未実装メソッドの自動補完時の引数名(arg0, arg1…)を正しいものにする方法


自動補完時の問題点

eclipseでインタフェースをimplementsしたり、クラスをnewするときに未実装メソッドの自動補完機能があります。これはそのクラスで必ず実装しなければならないメソッド(C++でいうpure virtual)を自動的に追加してくれる機能です。この機能は大変便利なのですが、androidの場合、以下のようにonItemClickメソッドの引数の名前がarg0, arg1などと使いづらい名前になってしまう問題があります。

        gridView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
                // TODO Auto-generated method stub
            }

対応方法

Javadoc のメソッドの説明時に記載されている引数名とするためには、jarファイルに対応したソースコードが参照できる環境になっている必要があります。
Androidはいつからのバージョンからかソースコードが 以下のようにSDK Manager から取得できるようになっています。

SDK Manager でソースコードを取得すると、以下の場所にソースがAndroidのSDKバージョンごとにフォルダ分けされてダウンロードされます。

\android-sdk-windows\sources

このソースコードをEclipse の Java Build Path で設定されている Android.jar に対して、該当するソースコードを設定します。

設定前の android.jar のJava Build Path

上記がまだ設定されていない状態で、ここに対して、写真の例であれば、Android 4.1.2 のandroid.jar に対する設定のため、SDK version 16の \android-sdk-windows\sources\android-16 のフォルダを設定します。以下が設定が完了した状態です。

設定後の android.jar のJava Build Path

設定後の状態

設定が完了すれば、eclipse 上でnew OnItemClickListener() のようにクラスを追加すると、実装しなければならないメソッドが補完されて、正しい引数名になります。

        gridView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void aonItemClick(final AdapterView parent, final View view,
                    final int position, final long id) {
                // TODO Auto-generated method stub
            }

いつも参考にさせて頂いているでもネタ帳 A.B.C:プロジェクト作成時にSupport Libraryのソース関連付けを行う方法ということで support library の場合の紹介がありました。こちらも参考にしてみてください。
ネタ帳 A.B.Cの著者さん、いつもありがとうございます。

2件のコメント »

  1. 未実装メソッドの自動補完時の引数名(arg0, arg1…)を正しいものにする方法 http://t.co/EjCohbORzo

  2. ザキ() より:

    RT @adakoda: 未実装メソッドの自動補完時の引数名(arg0, arg1…)を正しいものにする方法 http://t.co/EjCohbORzo

このコメント欄の RSS フィード トラックバック URL

コメントをどうぞ