读书人

Spinner 跟Menu菜单展示关于退出的用法

发布时间: 2012-06-27 14:20:09 作者: rapoo

Spinner 和Menu菜单展示关于退出的用法



?这节接着上一节“自定义登陆弹出框”,我们编写一个spinner,和点击Menu菜单查看关于与退出的操作

效果如图:

静态效果
Spinner 跟Menu菜单展示关于退出的用法
?选择spinner:


Spinner 跟Menu菜单展示关于退出的用法

?

点击手机上的Menu按钮效果:
Spinner 跟Menu菜单展示关于退出的用法

点击Menu关于选项:


Spinner 跟Menu菜单展示关于退出的用法
?点击退出:


Spinner 跟Menu菜单展示关于退出的用法

提交数据弹出等待框:


Spinner 跟Menu菜单展示关于退出的用法
?
?
?代码:

package com.gk.view;import java.util.ArrayList;import java.util.List;import org.apache.http.NameValuePair;import org.apache.http.message.BasicNameValuePair;import android.app.Activity;import android.app.ActivityManager;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.EditText;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;import com.gk.R;import com.gk.model.Agent;public class mainview extends Activity implements OnItemSelectedListener,OnClickListener{ private TextView mytextview; private Spinner myspinner; private String[] items ={"未完成","已完成"};   private ArrayAdapter<String> ad; private ImageButton seachbutton; private ImageView outview; private EditText expertxt; private String itemvalue=""; private List<NameValuePair> params; private ProgressDialog progressdialog; private AlertDialog comfirmDialog; private AlertDialog about; private String expername; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.mainview);  //setContentView(R.layout.mainview);//设置布局  //这里是登陆传递过来的对象,看不懂的话看看上一节吧,主要是用来取出登陆的用户名,显示在节目上  //Agent agent = (Agent) getIntent().getSerializableExtra("agentvalue");  Bundle bundle = getIntent().getExtras();  Agent agent = (Agent) bundle.get("agent");   //要使用spinner需要实现OnItemSelectedListener接口  mytextview =(TextView) findViewById(R.id.textviewtitle);  mytextview.setText("当前用户:"+agent.getAgentname());  myspinner =(Spinner) findViewById(R.id.mySpinner);  //创建适配器  ad =new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,items);  ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);    myspinner.setAdapter(ad);  myspinner.setOnItemSelectedListener(this);//实现监听器    seachbutton =(ImageButton) findViewById(R.id.seachbutton);  seachbutton.setOnClickListener(this);    expertxt = (EditText) findViewById(R.id.txt_expert);  expertxt.setText("xxxx");//这里为了测试方便,写上默认值    outview =(ImageView) findViewById(R.id.outview);  outview.setOnClickListener(new OnClickListener() {      @Override   public void onClick(View v) {    AlertDialog.Builder ad = new AlertDialog.Builder(mainview.this);    ad.setTitle("提示");    ad.setMessage("确认退出吗?");    comfirmDialog=ad.create();    comfirmDialog.setButton("确定", new DialogInterface.OnClickListener() {          @Override     public void onClick(DialogInterface dialog, int which) {      //退出系统      ActivityManager activityManager=(ActivityManager) mainview.this.getSystemService(ACTIVITY_SERVICE);      activityManager.restartPackage("com.gk");     }    });    comfirmDialog.setButton2("取消", new DialogInterface.OnClickListener() {          @Override     public void onClick(DialogInterface dialog, int which) {      comfirmDialog.cancel();//取消     }    });    comfirmDialog.show();//显示对话框   }  }); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position,   long id) { //mytextview.setText(items[position]);  itemvalue =items[position]; System.out.println("selected:"+items[position]);   } @Override public void onNothingSelected(AdapterView<?> parent) { } @Override //seachbutton点击事件 public void onClick(View v) {  //itemvalue  expername = expertxt.getText().toString();  System.out.println(itemvalue+" "+expername);  //组装参数  params =new ArrayList<NameValuePair>();  String ov;  progressdialog =ProgressDialog.show(mainview.this, "请等待...", "正在提交...");   params.add(new BasicNameValuePair("overflag", itemvalue));   params.add(new BasicNameValuePair("consultationexpert", expername));   seachr.sleep(100); } private seachHandler seachr =new seachHandler(); class seachHandler extends Handler{  @Override  public void handleMessage(Message msg) {   try{     Intent intent =new Intent();     intent.setClass(mainview.this, taskView.class);      intent.putExtra("overflag", itemvalue); //将查询参数传递到下一个Activity让它进行查询     intent.putExtra("consultationexpert", expername);     mainview.this.startActivity(intent);          Toast.makeText(mainview.this, "提交完毕", Toast.LENGTH_SHORT).show();    }catch(Exception e){    e.printStackTrace();   }finally{    progressdialog.dismiss();   }  }  //设置消失的时间  public void sleep(long delayMillis){   this.removeMessages(0);   sendMessageDelayed(obtainMessage(0), delayMillis);  } }     //Menu需要实现的两个方法 @Override public boolean onCreateOptionsMenu(Menu menu) {  menu.add(0, 1, 1, "关于");  menu.add(0, 2, 2, "退出");  return super.onCreateOptionsMenu(menu); } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) {  LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);  View view = inflater.inflate(R.layout.about, null);  if(item.getItemId() == 1){   AlertDialog.Builder ad =new AlertDialog.Builder(this);   ad.setTitle("关于");   ad.setView(view);  about = ad.create();   about.setButton("关闭", new DialogInterface.OnClickListener() {    @Override    public void onClick(DialogInterface dialog, int which) {     about.cancel();    }   });   about.show();  }else{   ActivityManager activityManager=(ActivityManager) mainview.this.getSystemService(ACTIVITY_SERVICE);   activityManager.restartPackage("com.gk"); //com.gk是项目的默认包 看看你R.java的所在包就是他了   //要实现退出系统还需要在AndroidManifest.xml文件里注册一个权限   // <uses-permission android:name="android.permission.RESTART_PACKAGES"/>  }  return super.onMenuItemSelected(featureId, item); }}

??

布局文件:

about.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center"    android:orientation="vertical" > <TextView     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:gravity="center"     android:text="关于的内容xxxxx"/></LinearLayout> mainview.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@drawable/bg"    android:orientation="vertical"     > <ImageView     android:id="@+id/outview"     android:layout_width="fill_parent"     android:layout_height="63dip"     android:background="@drawable/title"/> <LinearLayout     android:layout_width="fill_parent"     android:background="@drawable/content"     android:layout_height="203dip"     android:gravity="center_vertical"     android:orientation="vertical"     >   <LinearLayout      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:orientation="horizontal" >   <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginLeft="20dip"       android:layout_marginRight="20dip"       android:gravity="left"       android:text="咨询状态:"       android:textAppearance="?android:attr/textAppearanceMedium"       android:textColor="#78B52E" />    <Spinner       android:id="@+id/mySpinner"       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:layout_marginLeft="0dip"       android:layout_marginRight="20dip"       android:layout_weight="0.26"       android:autoText="false"       android:capitalize="none"       android:gravity="fill_horizontal" />      </LinearLayout>      <LinearLayout      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:orientation="horizontal" >      <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:textColor="#78B52E"         android:gravity="left"         android:text="专家姓名:"         android:textAppearance="?android:attr/textAppearanceMedium" />      <EditText          android:id="@+id/txt_expert"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:layout_marginLeft="0dip"          android:layout_marginRight="20dip"          android:autoText="false"          android:capitalize="none"          android:gravity="fill_horizontal"          android:textAppearance="?android:attr/textAppearanceMedium" />      </LinearLayout>      <LinearLayout          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:orientation="vertical"           android:gravity="right"          >          <ImageButton              android:id="@+id/seachbutton"              android:layout_width="100dip"              android:layout_height="40dip"              android:layout_marginRight="20dip"              android:background="@drawable/seach"              android:text="查  询" />      </LinearLayout> </LinearLayout>    <TextView        android:id="@+id/textviewtitle"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textAppearance="?android:attr/textAppearanceMedium"         /></LinearLayout>

?

读书人网 >移动开发

热点推荐