「Hello World」の表示ができたので、次はメイン画面(とりあえず画面だけ、動作部分はまだまだ先になりそう)の作成をしてみる。
「
http://tutorial.jp/prog/」のAndroid実習マニュアルを参考に、SpinnerとListViewを使って、Gmailのラベル選択部分とメール選択部分を作った。
1.「/res/main.xml」をダブルクリックして「Grahical Layout」からSpinnerとListView、動作確認用にTexiViewをそれぞれドラッグ&ドロップ。
2.Gmail2ReSendActivity.javaを以下のようにコーディングして実行。
package jp.taku1974.Gmail2ReSend;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter; // Spinner,ListViwe用アダプタ
import android.widget.AdapterView; // Spinner,ListViwe用アダプタ
import android.view.View;
import android.widget.Spinner;
import android.widget.ListView;
import android.widget.TextView;
public class Gmail2ReSendActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ラベル一覧
ArrayAdapter<GmailLabel> adapterL = new ArrayAdapter<GmailLabel>(this,android.R.layout.simple_spinner_item);
adapterL.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapterL.add(new GmailLabel("送信済みメール"));
adapterL.add(new GmailLabel("受信トレイ"));
adapterL.add(new GmailLabel("スター付き"));
adapterL.add(new GmailLabel("下書き"));
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapterL);
spinner.setSelection(0);
spinner.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
setSelectedLabel(parent, position);
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
// メッセージ一覧
ArrayAdapter<GmailMessage> adapterM = new ArrayAdapter<GmailMessage>(this,android.R.layout.simple_list_item_1);
adapterM.add(new GmailMessage("aaa@gmail.com", "あの件"));
adapterM.add(new GmailMessage("bbb@yahoo.co.jp", "その件"));
adapterM.add(new GmailMessage("ccc@docomo.ne.jp", "どの件?"));
adapterM.add(new GmailMessage("ddd@gmail.com", "例の件"));
final ListView listview = (ListView) findViewById(R.id.listview);
listview.setAdapter(adapterM);
listview.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent,View view, int position, long id) {
setSelectedMessage(parent, position);
}
}
);
}
protected void setSelectedLabel(AdapterView<?> parent, int position) {
GmailLabel label = (GmailLabel) parent.getAdapter().getItem(position);
final TextView selecteditem = (TextView) findViewById(R.id.selecteditem);
selecteditem.setText(label.toString());
}
protected void setSelectedMessage(AdapterView<?> parent, int position) {
GmailMessage gmess = (GmailMessage) parent.getAdapter().getItem(position);
final TextView selecteditem =
(TextView) findViewById(R.id.selecteditem);
selecteditem.setText("TO:" + gmess.getTo() + "\n" + "Subject:" + gmess.getSubject());
}
}
class GmailLabel {
String strLabel;
GmailLabel(String Label) {
strLabel = Label;
}
public String toString() {
return strLabel ;
}
}
class GmailMessage {
String strTo;
String strSubject;
GmailMessage(String To, String Subject) {
strTo = To;
strSubject = Subject;
}
public String toString() {
return "TO:" + strTo + "\n" + "Subject:" + strSubject ;
}
public String getTo() {
return strTo;
}
public String getSubject() {
return strSubject;
}
} |
0 件のコメント:
コメントを投稿