-
これまたよく見かけるfindViewByIdについてのメモ。字面から、「idでViewを見つける」んだなということはなんとなく想像できます。
idと言えば、下記メモで、xmlに定義されたリソースにIDを割り振って、R.javaファイルに保存するということを書きました。リソースに割り振られたIDを使って、java側でリソースを利用するための架け橋が「findViewById」です。
メモ:「id="@+id/名前"」という構文について - Mono Works
では、そのリソースIDがどのxmlファイルに定義されているのかというのは、「setContentView」で設定しています。この辺については、下記メモに書いてます。 メモ:setContentViewについて - Mono Works
-
ListViewについて調べているうちに、findViewByIdについて調べ始めたり、どんどん分からないことが出てきて、いろんな脇道に逸れてしまってます。今回は、そんな脇道のひとつ「コードを記述する上でのお作法」について書いていこうと思います。
「コードを記述する上でのお作法」とは、主に可読性を良くするために確立されたスタイルで、「ルール」ではありません。お作法は、守らなくてもビルドは通りますが、見る人が見れば「読みにくい」でしょうから、できるだけ遵守することにします。
以前、xmlで定義したButtonビューをjavaの中で紐付ける部分の記述していたのですが、その時の記述(一部抜粋)は、以下のとおりでした。
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);</br> Button btnGoogleMaps = (Button) this.findViewById(R.id.button1); btnGoogleMaps.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){
同じように、xmlのButtonビューの定義をおこなう記述で、Buttonの頭に「m」が付いた記法を見つけたので、どういった理由によるもので、どういった使い分けをしているのか調べてみました。
public class MainActivity extends AppCompatActivity { private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);</br> mButton = (Button) this.findViewById(R.id.button1); mButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){
結論から書くと、どういう使い分けなのかは分からずじまいでしたが、内容的には上記2つの記法は、どちらも同じことを表していて、「mButton」は「コードを記述する上でのお作法」に則って記述されているというものでした。
-
レイアウト用 xmlファイルのサンプルを作っていると、よく見かける LinearLayoutと RelativeLayoutについて調べてみました。
日本語にすると、そのまんまです。
LinearLayout(直線的な配置)
RelativeLayout(相対的な配置)
LinearLayoutは、ビューを縦方向または横方向一列に並べる配置です。
RelativeLayoutは、親の位置を基準として相対的な指示でビューを配置する方法です。親を配置可能エリア全体とするか、任意の配置済みビューとするかで指示の方法が異なります。
-
そもそもは、ListViewについて調べていたんですが、流れでRecyclerViewにまで手を出してしまいました。とりあえずサンプルをポチポチしていると、RecyclerViewクラスを利用するためにサポートライブラリ v7を参照できるようBuild.gradleのdependencies部分に下記の4行目を追加しました。
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.android.support:recycleview-v7:22.2.1' }
しかし、これでビルドしようとしても、こんなエラーが出て先に進みません。
-
ノイズキャンセリング機能の付いたイヤホンかヘッドフォンが欲しくなり、いろいろ試してみて、最終的にBose QuietComfort 20を購入しました。音の良し悪しについては素人なので、その辺は個人的に気に入ったという平凡な感想しかありませんが、その他の点で気付いたことがいくつかあったので、ご紹介します。
「雪ノ下」立川店のパンケーキ「ココアチョコの黒」
-
前回、Intentを使って、Googleマップへ指定した座標を渡して表示する方法を紹介しました。
Uri gmUri = Uri.parse("geo:35.684331,139.735232?z=19"); Intent gmIntent = new Intent(Intent.ACTION_VIEW, gmUri); gmIntent.setPackage("com.google.android.apps.maps"); startActivity(gmIntent);
メモ:Google Mapsでうちの会社の場所を表示 - Mono Works
今回は、Googleマップへ渡すパラメータについて、もう少し紹介したいと思います。といっても、ほぼ下記ページを訳しただけ。
Launch Google Maps | Maps SDK for Android | Google Developers
Mono Works
チラシのすきま
カテゴリー:Post