一些android 技巧汇总(menu,activity,AlertDialog...)

这些技巧都适用android sdk 1.0

 

1.在测试时,如何实现一个提示

可以使用

  1. Toast.makeText(this"这是一个提示", Toast.LENGTH_SHORT).show(); 
  2. //从资源文件string.xml 里面取提示信息
  3.   Toast.makeText(this, getString(R.string.welcome), Toast.LENGTH_SHORT).show();

这个提示会几秒钟后消失

 

2.可以使用AlertDialog.Builder 才产生一个提示框.

   例如像messagebox那样的

  1.    new AlertDialog.Builder(this)
  2.     .setTitle("Android 提示")
  3.     .setMessage("这是一个提示,请确定")
  4.     .show();

带一个确定的对话框

  1. new AlertDialog.Builder(this)
  2.          .setMessage("这是第二个提示")
  3.          .setPositiveButton("确定",
  4.                          new DialogInterface.OnClickListener(){
  5.                                  public void onClick(DialogInterface dialoginterface, int i){
  6.                                      //按钮事件
  7.                                  }
  8.                          })
  9.          .show();

AlertDialog.Builder 还有很多复杂的用法,有确定和取消的对话框

  1. new AlertDialog.Builder(this)
  2.         .setTitle("提示")
  3.         .setMessage("确定退出?")
  4.         .setIcon(R.drawable.quit)
  5.         .setPositiveButton("确定"new DialogInterface.OnClickListener() {
  6.         public void onClick(DialogInterface dialog, int whichButton) {
  7.         setResult(RESULT_OK);//确定按钮事件
  8.         finish();
  9.         }
  10.         })
  11.         .setNegativeButton("取消"new DialogInterface.OnClickListener() {
  12.         public void onClick(DialogInterface dialog, int whichButton) {
  13.          //取消按钮事件
  14.         }
  15.         })
  16.         .show();

3.menu 的用法.

  1. public static final int ITEM_1_ID = Menu.FIRST;
  2. public static final int ITEM_2_ID = Menu.FIRST + 1;
  3. public static final int ITEM_3_ID = Menu.FIRST + 2;
  4.     
  5. public boolean onCreateOptionsMenu(Menu menu) {
  6.         super.onCreateOptionsMenu(menu);
  7. //不带图标的menu
  8.         menu.add(0, ITEM_1_ID, 0, "item-1");       
  9. //带图标的menu
  10.         menu.add(0, ITEM_2_ID, 1, "item-2").setIcon(R.drawable.editbills2);
  11.         menu.add(0, ITEM_3_ID, 2, "item-3").setIcon(R.drawable.billsum1);
  12.         return true
  13. }
  14. public boolean onOptionsItemSelected(MenuItem item){
  15.        switch (item.getItemId()) {
  16.        case 1:
  17.            Toast.makeText(this"menu1",Toast.LENGTH_SHORT).show();            
  18.            return true;
  19.        case 2:
  20.         
  21.            return true;
  22.        case 3:
  23.          
  24.            return true;
  25.        }
  26.        return false;
  27.     }

4.Activity 的切换

    2个Activity 的切换,没有数据传递

  1. //从A到B
  2. Intent intent = new Intent();
  3.                 intent.setClass(A.this, B.class);
  4.                 startActivity(intent);

  2个Activity 之间传递数据

    相关的几个函数
    startActivityForResult
    public final void setResult(int resultCode, String data)
    回调函数

    protected void onActivityResult(int requestCode, int resultCode, Intent data) 

 

   例如A到B,从B得到数据  

  1. //A到B
  2. static final int RG_REQUEST = 0;
  3. Intent intent = new Intent();
  4. intent.setClass(A.this, B.class);
  5. startActivityForResult(intent,RG_REQUEST);
  6.                                   
  7. //在B中处理
  8. Bundle bundle = new Bundle();
    bundle.putString("DataKey", edittext.getText().toString());//给bundle 写入数据
    Intent mIntent = new Intent();
    mIntent.putExtras(bundle);
    setResult(RESULT_OK, mIntent);
    finish();
  9. //最后在A的回调函数里面接收数据
  10. if (requestCode == RG_REQUEST) {
          if (resultCode == RESULT_CANCELED)
               setTitle("Canceled...");
          else if(resultCode == RESULT_OK) {
              setTitle((String)data.getCharSequenceExtra("DataKey"));
           }
     }

 

附截图:

提示1

提示2

 

菜单

 

 

 

 

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值