練習25,備忘錄,可儲存。

第二頁
package ex25.Memo2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class Edit extends Activity
{

    TextView txv;
    EditText edt;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit);

        Intent it = getIntent();               //取得傳入的 Intent 物件
        txv = (TextView) findViewById(R.id.textView1);


        String s = it.getStringExtra("備忘");  //讀出名為 "備忘" 的 String 資料
        txv.setText(s.substring(0, 2));                 //在畫面左上角顯示編號
        edt = (EditText) findViewById(R.id.editText1);
        if (s.length() > 3)
            edt.setText(s.substring(3)); //將傳來的備忘資料去除前3個字, 然後填入編輯元件中
    }

    public void onCancel(View v)
    {  //按取消鈕時
        setResult(RESULT_CANCELED); // 傳回代表取消的結果碼
        finish();    //結束活動
    }

    public void onSave(View v)
    {    //按儲存鈕時
        Intent it2 = new Intent();
        it2.putExtra("備忘", txv.getText() + " " + edt.getText()); // 附加項目編號與修改後的內容
        setResult(RESULT_OK, it2); // 傳回代表成功的結果碼, 以及修改的資料
        finish();    //結束活動
    }

}

第一頁
package ex25.Memo2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity
        implements OnItemClickListener, OnItemLongClickListener
{

    String[] aMemo = { // 預設的備忘內容
            "1. 按一下可以編輯備忘",
            "2. 長按可以清除備忘", "3.", "4.", "5.", "6."};
    ListView lv; // 顯示備忘錄的 ListView
    ArrayAdapter<String> aa; // ListView 與備忘資料的橋樑

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lv = (ListView) findViewById(R.id.listView1);
        aa = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, aMemo);

        lv.setAdapter(aa);    //設定 listView1 的內容

        //設定 listView1 被按一下的監聽器
        lv.setOnItemClickListener(this);
        //設定 listView1 被長按的監聽器
        lv.setOnItemLongClickListener(this);
    }

    public void onItemClick(AdapterView<?> a, View v, int pos, long id)
    {
        Intent it = new Intent(this, Edit.class);
        it.putExtra("備忘", aMemo[pos]); //附加備忘項目的內容
        startActivityForResult(it, pos); //啟動 Edit 並以項目位置為識別碼
    }

    public boolean onItemLongClick(AdapterView<?> a, View v, int pos, long id)
    {
        aMemo[pos] = (pos + 1) + "."; //將內容清除 (只剩編號)
        aa.notifyDataSetChanged();  //通知 Adapter 要更新陣列內容
        return true;                //傳回 true 表示此事件已處理
    }

    protected void onActivityResult(int requestCode,
                                    int resultCode, Intent it)
    {
        if (resultCode == RESULT_OK)
        {
            aMemo[requestCode] = it.getStringExtra("備忘"); // 使用傳回的資料更新陣列內容
            aa.notifyDataSetChanged(); // 通知 Adapter 陣列內容有更新
        }
    }

}

留言

這個網誌中的熱門文章

JAVE題目:產生10個亂數值,範圍為10-100之間,再利用「選擇排序法」進行由小到大的排序。並將排序後的結果列出來。

資料庫32範例:小戴修正。

StringBuilder跟StringBuffer的方法