2011/03/12

メイン画面の作成

「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 = (SpinnerfindViewById(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 = (ListViewfindViewById(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 = (GmailLabelparent.getAdapter().getItem(position);
    final TextView selecteditem = (TextViewfindViewById(R.id.selecteditem);
    selecteditem.setText(label.toString());
  }
  
  protected void setSelectedMessage(AdapterView<?> parent, int position) {
    GmailMessage gmess = (GmailMessageparent.getAdapter().getItem(position);
    final TextView selecteditem =
    (TextViewfindViewById(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 件のコメント:

コメントを投稿