android一些技术汇总
时间:2011-04-26 来源:大生
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.
15.public boolean onOptionsItemSelected(MenuItem item){
16. switch (item.getItemId()) {
17. case 1:
18. Toast.makeText(this, "menu1",Toast.LENGTH_SHORT).show();
19. return true;
20. case 2:
21.
22. return true;
23. case 3:
24.
25. return true;
26. }
27. return false;
28. }
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.
10.//最后在A的回调函数里面接收数据
11.if (requestCode == RG_REQUEST) {
if (resultCode == RESULT_CANCELED)
setTitle("Canceled...");
else if(resultCode == RESULT_OK) {
setTitle((String)data.getCharSequenceExtra("DataKey"));
}
}
附截图:
提示1
提示2
菜单
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/untosil/archive/2008/11/12/3283313.aspx