Android UIデバッグ

backgroundに色を付ける

適当な色をつけると表示範囲が分かるので、もしかしたら画面外に表示されているUIが分かるかもしれない。

LinearLayoutのhorizontal/verticalに気をつける

縦にずらーと表示したい時に横に表示する設定にしてると、画面外に表示される事がある。
1つしかUIが表示されてない場合、確認してみるとよい。

findViewByIdの戻り値がnullになる

1.指定したR.id.*がXML上に存在しない
 →XMLを再度確認してみる
2.includeされたxmlファイルの親要素のidはincludeのidに上書きされる為、findViewByIdではそもそも引っかからない
 →include要素のidを確認する
3.Activity.setContentViewを実行する前にActivity.findViewByIdを実行するとnullになる。
 →setContentViewが実行されたあと、findViewByIdを実行している事を確認する。

LayoutInflaterでViewGroupを生成する場合

layout_width, layout_heightがおかしい場合は、生成時のデフォルトのlayoutParamsを疑うべき。

ImageView#setImageURIで画像が表示されない場合、正しいパスを指定しているか確認する。

setImageURIはローカルのパスしか受け付けない模様。

ScrollView内部のLinearLayoutはorientation="vertical"に設定する。

HorizontalScrollViewの場合は逆に、内部のLinearLayoutはorientation="horizontal"に設定する。

ScrollView内部のLinearLayoutとScrollView自身を間違えない。

特にscrollToなどでおこりやすい。
同じシグネチャのメソッドが複数あるため、Eclipseでは構文エラーにならない。
また、表示がおかしいまま動くため何が悪いのか分からなくなりやすいので注意。