Guest User

第一次做的app

a guest
Jun 9th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.77 KB | None | 0 0
  1. package com.example.kpk.myapplicationfinal;
  2.  
  3. import android.content.DialogInterface;
  4. import android.content.Intent;
  5. import android.support.v7.app.AlertDialog;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.text.TextUtils;
  9. import android.view.LayoutInflater;
  10. import android.view.Menu;
  11. import android.view.MenuItem;
  12. import android.view.SubMenu;
  13. import android.view.View;
  14. import android.widget.AdapterView;
  15. import android.widget.ArrayAdapter;
  16. import android.widget.EditText;
  17. import android.widget.ListView;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21. import java.util.Random;
  22.  
  23. public class MainActivity extends AppCompatActivity
  24.         implements AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener {
  25.  
  26.  
  27.     String[] aMemo = { // 預設的備忘內容
  28.             "1. 按一下可以編輯備忘",
  29.             "2. 長按可以清除備忘","3.","4.","5.","6.","7.","8.","9.","10.","11.","12.","13.","14.","15." };
  30.     ListView lv; // 顯示備忘錄的 ListView
  31.     ArrayAdapter<String> aa; // ListView 與備忘資料的橋樑
  32.     TextView txv2;
  33.  
  34.  
  35.  
  36.     @Override
  37.     protected void onCreate(Bundle savedInstanceState) {
  38.         super.onCreate(savedInstanceState);
  39.         setContentView(R.layout.activity_main);
  40.  
  41.         lv = (ListView)findViewById(R.id.listView);
  42.         aa = new ArrayAdapter<>(this,
  43.                 android.R.layout.simple_list_item_1, aMemo);
  44.  
  45.         lv.setAdapter(aa);    //設定 listView1 的內容
  46.  
  47.         //設定 listView1 被按一下的監聽器
  48.         lv.setOnItemClickListener(this);
  49.         //設定 listView1 被長按的監聽器
  50.         lv.setOnItemLongClickListener(this);
  51.  
  52.         txv2= (TextView) findViewById(R.id.txv2);
  53.  
  54.  
  55.  
  56.     }
  57.  
  58.     public void onItemClick(AdapterView<?> a, View v, int pos, long id) {
  59.         Intent it = new Intent(this, tw.com.flag.ch08_memo.Edit.class);
  60.         it.putExtra("備忘", aMemo[pos]);      //附加編號
  61. //        it.putExtra("備忘", aMemo[pos]); //附加備忘項目的內容
  62.         startActivityForResult(it, pos); //啟動 Edit 並以項目位置為識別碼
  63.     }
  64.  
  65.     public boolean onItemLongClick(AdapterView<?> a, View v, int pos, long id) {
  66.         aMemo[pos] = (pos+1) + "."; //將內容清除 (只剩編號)
  67.         aa.notifyDataSetChanged();  //通知 Adapter 要更新陣列內容
  68.         return true;                //傳回 true 表示此事件已處理
  69.     }
  70.  
  71.     protected void onActivityResult(int requestCode, int resultCode, Intent it) {
  72.         if(resultCode == RESULT_OK) {
  73.             aMemo[requestCode] = it.getStringExtra("備忘"); // 使用傳回的資料更新陣列內容
  74.             aa.notifyDataSetChanged(); // 通知 Adapter 陣列內容有更新
  75.         }
  76.     }
  77.  
  78.  
  79.     public boolean onCreateOptionsMenu(Menu menu) {
  80.  
  81.         menu.add(Menu.NONE, Menu.FIRST, Menu.NONE, "抽獎");
  82.         menu.add(Menu.NONE, Menu.FIRST + 1, Menu.NONE, "離開程式");
  83.         return super.onCreateOptionsMenu(menu);
  84.     }
  85.     public boolean onOptionsItemSelected(MenuItem item) {  //處理按下Menu Item以後的動作
  86.         switch(item.getItemId()){
  87.  
  88.             case Menu.FIRST:
  89. //               lv.getAdapter().getItem(new Random().nextInt(lv.getCount()));
  90. //               lv.getAdapter().getItem(new Random().nextInt(lv.getCount()))).toString());
  91.                 AlertDialog.Builder bdr = new AlertDialog.Builder(this);
  92.                 bdr.setMessage((lv.getAdapter().getItem(new Random().nextInt(lv.getCount()))).toString());
  93.                 bdr.setTitle("您抽中了");        // 加入標題
  94.                 bdr.setIcon(android.R.drawable.btn_star_big_on); // 加入圖示
  95.                 bdr.setCancelable(true);   // 允許按返回鍵關閉交談窗
  96.                 bdr.setPositiveButton("ok",null);
  97.                 bdr.show();
  98.                 break;
  99.  
  100.             case Menu.FIRST + 1:
  101.                 new AlertDialog.Builder(MainActivity.this)
  102.                         .setTitle("離開此程式")
  103.                         .setMessage("你確定要離開?")
  104.                         .setPositiveButton("是", new DialogInterface.OnClickListener() {
  105.  
  106.                             @Override
  107.                             public void onClick(DialogInterface dialog, int which) {
  108.                                 finish();
  109.                             }
  110.                         })
  111.                         .setNegativeButton("否", new DialogInterface.OnClickListener() {
  112.  
  113.                             @Override
  114.                             public void onClick(DialogInterface dialog, int which) {
  115.                             }
  116.                         })
  117.                         .show();
  118.                 break;
  119.  
  120.         }
  121.  
  122.         return super.onOptionsItemSelected(item);
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment