測驗、toast、Alert交談窗、Dialog的運用。setOnItemClickListener

    ListView listView;

    String[] a={"1+1=","1+2=","1+3=","1+4=","1+5="}; //問題
    String[] b={"5-1=","5-2=","5-3=","5-4=","5-5="};
    String[] c={"1*1=","2*2=","3*3=","4*4=","5*5="};
    String[] a1={"2","3","4","5","6"};               //答案
    String[] b1={"4","3","2","1","0"};
    String[] c1={"1","4","9","16","25"};

    String[] n;    //將正確答案設為n


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

        listView=(ListView) findViewById(R.id.listview);
        listView.setOnItemClickListener(this);

        new AlertDialog.Builder(this) // 建立 Builder 物件
                .setMessage("數學時間") // 設定顯示訊息
                .setCancelable(false) // 禁用返回鍵關閉交談窗
                .setIcon(android.R.drawable.ic_menu_edit) // 採用內建的圖示
                .setTitle("請選擇你要做那一種測驗?") // 設定交談窗的標題
                .setPositiveButton("加法", this)    // 加入否定按鈕
                .setNegativeButton("減法", this)   // 加入肯定按鈕
                .setNeutralButton("乘法", this)    // 不監聽按鈕事件
                .show(); // 顯示交談窗
    }
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {   //Alert交談窗

        if (i == DialogInterface.BUTTON_POSITIVE){
            ArrayAdapter<String> adapter=new ArrayAdapter<String>
                    (this,android.R.layout.simple_list_item_1,a);
            listView.setAdapter(adapter);
            n=a1;
        } else if (i == DialogInterface.BUTTON_NEGATIVE){
            ArrayAdapter<String> adapter=new ArrayAdapter<String>
                    (this,android.R.layout.simple_list_item_1,b);
            listView.setAdapter(adapter);
            n=b1;
        }else{
            ArrayAdapter<String> adapter=new ArrayAdapter<String>
                    (this,android.R.layout.simple_list_item_1,c);
            listView.setAdapter(adapter);
            n=c1;
        }
    }

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {    //toast類別
            Toast.makeText(this,"答案︰" + n[i], Toast.LENGTH_SHORT).show();
    }
}

留言

這個網誌中的熱門文章

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

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

廣播接收器、