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

可以使用

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

这个提示会几秒钟后消失


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

例如像messagebox那样的

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

带一个确定的对话框

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


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

new AlertDialog.Builder(this)
.setTitle("提示")
.setMessage("确定退出?")
.setIcon(R.drawable.quit)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setResult(RESULT_OK);//确定按钮事件
finish();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//取消按钮事件
}
})
.show();

3.menu 的用法.

public static final int ITEM_1_ID = Menu.FIRST;
public static final int ITEM_2_ID = Menu.FIRST + 1;
public static final int ITEM_3_ID = Menu.FIRST + 2;

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//不带图标的menu
menu.add(0, ITEM_1_ID, 0, "item-1");
//带图标的menu
menu.add(0, ITEM_2_ID, 1, "item-2").setIcon(R.drawable.editbills2);
menu.add(0, ITEM_3_ID, 2, "item-3").setIcon(R.drawable.billsum1);
return true;
}

public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
case 1:
Toast.makeText(this, "menu1",Toast.LENGTH_SHORT).show();
return true;
case 2:

return true;
case 3:

return true;
}
return false;
}

4.Activity 的切换

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

//从A到B
Intent intent = new Intent();
intent.setClass(A.this, B.class);
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得到数据

//A到B
static final int RG_REQUEST = 0;
Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivityForResult(intent,RG_REQUEST);

//在B中处理
Bundle bundle = new Bundle();
bundle.putString("DataKey", edittext.getText().toString());//给bundle 写入数据
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();

//最后在A的回调函数里面接收数据
if (requestCode == RG_REQUEST) {
if (resultCode == RESULT_CANCELED)
setTitle("Canceled...");
else if(resultCode == RESULT_OK) {
setTitle((String)data.getCharSequenceExtra("DataKey"));
}
}

更多相关文章

  1. Android(安卓)widget 之RemoteView
  2. Android(安卓)编解码
  3. Android(安卓)day_3 (登录案例 SharedPreferences 的使用)
  4. 安卓 EditText属性的总结
  5. Android的ProgressDialog进度对话框的使用
  6. Android(安卓)AudioManager控制系统声音的流程
  7. Android(安卓)jni 编程(参数的传递,成员,方法的)相互访问
  8. Android(安卓)保存图片到SQLite
  9. (Android) ContentProvider 实例

随机推荐

  1. android 对话框中的进度条 (ProgressDial
  2. android 判断是否在主线程的方法
  3. Android(安卓)报错 android.view.ViewRoo
  4. 【Android】创建、读取XML文件
  5. 通过Intent在Activity|Service之间传递数
  6. android sqlite 中文乱码。。麻烦详细点
  7. android 使用linux命令截屏
  8. android SAX
  9. javascript中的闭包原理以及数组与对象的
  10. 对象字面量的简化,推荐使用