件のコメントArrayAdapterを継承したクラスでListViewを作る場合、些細な事ですが忘れがちなのでメモしておきます。基本的には、行の更新と言えどListViewはsetAdapterメソッドを叩いてやれば、ListViewを更新できますが、画面に収まりきらないほどのリスト項目を持ち、リストをタップする事でリスト項目を更新するような場合は注意が必要です。具体例で言いうと、下図のような商品名が並んでいるリストがあり、ショッピングカートのボタンをタップすると、商品名の括弧内の数字(個数)が増えるようなアプリがあったとします。この場合は、下から2番目の”味付けカワハギ”までは、setAdapterでリストを更新しても特に問題はないと思いますが、”冷凍シメサバ”より下に項目が続く場合についてサンプルソースを基に注意点を見ていきたいと思います。今回のサンプルでは、Activityにactivity_array_adapter_test.xmlをsetContentViewさせます。このxmlにListViewウィジェットを配置します。リストの中身は、別途list_item.xmlを作成し、その中にTextViewとショッピングカートアイコンのImageButtonを配置し、ArrayAdapterを継承したクラス内でlist_item.xmlに値を詰めてListViewに格納する実装です。ショッピングカートのImageButtonをタップすると、行を更新するというOnClickListenerを設けます。このClickイベントで行うのが以下の2点です。ArrayAdapterに渡しているListの更新Viewの更新setAdapterの何が問題かと言うと、”冷凍シメサバ”より下にある表示されていない項目の場合は、まず項目を見える位置までスクロールさせる必要がありますね。そこで、ImageButtonをタップするわけですが、このタイミングで、List内部の値を更新しsetAdapterするとListViewはりんごから表示するので、せっかくスクロールさせた項目が隠れてしまいます。上記2つの片方しかやらないと、反映されなかったり、スクロールのタイミングで表示が元に戻ったりします。その注意を盛り込んだサンプルソースです。}}ざっくり上から解説すると、onClickメソッド:xmlからString配列を読み込んでListAdapter経由でListViewに反映Otsumamiクラス:商品名とその個数の定義ListAdapter:ListViewの立役者であるArrayAdapterを継承しているクラス先ほどのClickイベントの話は、ListAdapter内のonClickメソッド内です。1.ArrayAdapterに渡しているListの更新ListAdapterに渡すListはこのActivityのフィールドなのでonClick内でもアクセスできます。タップされた位置はgetViewメソッドのパラメータであるpositionですが、final修飾子を付ける事でこちらもonClick内で取得できます。次に、Viewの更新方法ですが、2種類載せています(片方はコメントアウト)。一つは、ArrayAdapterにnotifyDataSetChanged()で更新を促す方法です。vを直接更新する方法です。基本的には、上記1の内容を反映する意味でもnotifyDataSetChanged()を叩く方がいいんじゃないかと思います。最初はこのgetView内の挙動が分かり辛いため、細かい所でミスが出やすい気がします。一連のソースはGithubに上げてます。人気の記事Eclipseの高速化メモEclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。PF-102デザインと信頼性はいいのですが、操作は若干分かり辛いです。設定は最初だけ設定すればほぼ変更する必要はありません。稀に操作がすることがあって、そのときに説明書を探すのが大変のため、メモしておきます。時代にインストールしていたExcel2007を引き続き使っています。デスクトップにショートカットを置きたくないので、スタート画面にでもピン留めしておこうかと、Excelファイル上で右クリックしましたが、「スター...JavaでprivateなfieldやmethodにアクセスするJUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。次のような対象のクラスがあるとします。