前回の続き。
http://codezine.jp/article/detail/4670
ということでまずはレイアウトを作成。
BizCard/res/layout/main.xml
<LinearLayout>で全体のレイアウトを作成、<ListView>でその中に表示するコンテンツを並べています。
現在は"@+id/list"が空っぽなので何も表示されません。
ということで値を入れてみます。
BizCard/src/com.example.bizcard/ListActivity.java
CodeZineの説明が正直よくわからなかったので俺語訳しています。
ListViewは突っ込んだ配列を全部順番に表示するビューです。
Androidのメニューはたいがいこれを使ってそうな見た目になっています。
えーと、<String>ってなんだったっけ。
Javaが久しぶりすぎて何もかもを忘れてしまった。
これでもSJC-PとSJC-WCとSJC-WS持ってるんだがこれはゴミか?ゴミです。
ArrayAdapterはあらゆるオブジェクトを突っ込めてしまうので、うっかりarrayAdapter.add(new Object())とか書かれてしまう可能性もあります。
まあObjectであればObject.toString()が発動して"java.lang.Object@43e9b648"とかなんだかよくわからない値が表示されるだけなのですが、想定外の動作にはかわりありません。
そこで<String>と型を指定することで、挿入も取得もString型しか使用できないように強制します。
arrayAdapter.add(new Object())と書いてもコンパイルで弾かれるようになります。
android.widget.ArrayAdapterの第二引数にはリソースを渡せるのですが、とりあえずどの値がどういう意味なのかがわからん。
http://developer.android.com/intl/ja/reference/android/widget/ArrayAdapter.html
http://developer.android.com/intl/ja/reference/android/R.layout.html
そんな数値だけ書かれても。
とりあえず以上で"新規追加"メニューが表示されました。
Androidの記事
http://codezine.jp/article/detail/4670
ということでまずはレイアウトを作成。
BizCard/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
<LinearLayout>で全体のレイアウトを作成、<ListView>でその中に表示するコンテンツを並べています。
現在は"@+id/list"が空っぽなので何も表示されません。
ということで値を入れてみます。
BizCard/src/com.example.bizcard/ListActivity.java
package com.example.bizcard;
public class ListActivity extends Activity {
// 一覧表示用ListView
private ListView listView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 配列を作成
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
// 要素を追加
arrayAdapter.add("新規追加");
// main.xmlのandroid:id="@+id/list"を取得
listView = (ListView) findViewById(R.id.list);
// 配列を突っ込む
listView.setAdapter(arrayAdapter);
}
}
CodeZineの説明が正直よくわからなかったので俺語訳しています。
ListViewは突っ込んだ配列を全部順番に表示するビューです。
Androidのメニューはたいがいこれを使ってそうな見た目になっています。
えーと、<String>ってなんだったっけ。
Javaが久しぶりすぎて何もかもを忘れてしまった。
これでもSJC-PとSJC-WCとSJC-WS持ってるんだがこれはゴミか?ゴミです。
ArrayAdapterはあらゆるオブジェクトを突っ込めてしまうので、うっかりarrayAdapter.add(new Object())とか書かれてしまう可能性もあります。
まあObjectであればObject.toString()が発動して"java.lang.Object@43e9b648"とかなんだかよくわからない値が表示されるだけなのですが、想定外の動作にはかわりありません。
そこで<String>と型を指定することで、挿入も取得もString型しか使用できないように強制します。
arrayAdapter.add(new Object())と書いてもコンパイルで弾かれるようになります。
android.widget.ArrayAdapterの第二引数にはリソースを渡せるのですが、とりあえずどの値がどういう意味なのかがわからん。
http://developer.android.com/intl/ja/reference/android/widget/ArrayAdapter.html
http://developer.android.com/intl/ja/reference/android/R.layout.html
そんな数値だけ書かれても。
とりあえず以上で"新規追加"メニューが表示されました。
Androidの記事
PR
トラックバック
トラックバックURL: