关于activity绑定的dialog的用法

本文介绍了如何在Android的Activity中实现点击返回键时显示Dialog,让用户选择是否离开当前模块。通过ExitNoDateDialog类和相关布局文件展示了如何创建和使用Dialog,以提供更好的用户体验。
摘要由CSDN通过智能技术生成


当有的activity有返回建的时候,我们可以设置点击返回显示弹出dialog的消息,然后去dialog处理,是返回主页面,还是结束当前的activity都可以


public class ExitNoDateDialog extends Dialog{



//dailog
private Context context;
public ExitNoDateDialog(Context context) {
super(context);
this.context = context;

}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//弹出窗体
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
setContentView(R.layout.exitnodatadialog);

TextView exit = (TextView) findViewById(R.id.exit);
TextView noexit = (TextView) findViewById(R.id.noexit);

exit.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
dismiss();
if(context instanceof AddOrderActivity){//if判断,如果这个activity在当前的activity,点击回退,就回到主页
Intent intent = new Intent(context,
WalletMainActivity.class);
context.startActivity(intent);
}else{
((Activity) context).finish();//否则就回到上一个activity,这里思路有很多各自发挥,大概都是在这处理,如果你不想在dialog处理也可以
}
}
});
noexit.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
dismiss();

}
});
}




}


XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/rec_radius_bg"
        android:orientation="vertical" >


        <TextView
            android:id="@+id/tv_msg"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:gravity="center"
            android:text="是否放弃该模块信息填写?"
            android:textColor="@color/text_color"
            android:textSize="18sp" />


        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#3468FE" />


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >


            <TextView
                 android:id="@+id/noexit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1.0"
                android:layout_gravity="center_vertical"
                android:gravity="center"
                android:text="否"
                android:textColor="#3468FE"
                android:textSize="18sp" />


            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="#3468FE"/>


            <TextView
                android:id="@+id/exit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                 android:layout_margin="10dp"
                android:layout_weight="1.0"
                android:layout_gravity="center_vertical"
                android:gravity="center"
                android:text="是"
                android:textColor="#3468FE"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>


</LinearLayout>


主页的activity

public class AddOrderActivity extends Activity implements
MySpinnerOnSelectedListener {


public static String city = "上海";
public static double curX = 0;
public static double curY = 0;
private Date date;
private String dateTime;
private String carcolor1ID, carcolor2ID, Brand, Series;
private String province = null;
private String district = null;
private String province_code = null;
private PopupWindow pop = null;
private LinearLayout ll_popup, edt_frll;
private String city_code = null;
private String province_name = null;
private String city_name = null;
private String county_name = null;
private String[] cardItems = null;
private EditText edt_playingtime;
private GridAdapter mGridadapter;
static BDLocation lastLocation = null;
private ImageView back;
private GridView noScrollgridview;
private EditText modifiedED, ExpectedPriceED,edt_cardNum,DPprice;
private Button caraddBT;
private ImageView imageview;
// private EditText edt_bigmerNo;
private EditText cardType_sp;
private EditText edt_fr;
private EditText edt_jingYMJ;
private EditText edt_jingYRS;
private View parentView;
private EditText edt_conpanyAddr;
private TextView addImg;
private TextView activity_selectimg_send;
private EditText edt_zhengJCode, cardType_spr;
private Spinner loantype_spr;
public static AddOrderActivity merchantInfo2Activity;
private TextView tv_next, title;
private String[] loantype_sprItems = null;
public static Bitmap bimap;
    private String allname;
    private String ForwardImg;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


Res.init(this);


bimap = BitmapFactory.decodeResource(getResources(),
R.drawable.icon_addpic_unfocused);


// PublicWay.activityList.add(this);
parentView = getLayoutInflater().inflate(R.layout.addorder, null);
// setContentView(parentView);


setContentView(R.layout.addorder);
title = (TextView) findViewById(R.id.title);
title.setText("新增订单");
merchantInfo2Activity = this;


loantype_sprItems = new String[] { "1973", "1974", "1975" };
loantype_spr = (Spinner) findViewById(R.id.edt_alipayNo);
loantype_spr.setPrompt("1973");


ArrayAdapter<String> loantype_sprItemsAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, loantype_sprItems);
loantype_sprItemsAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 绑定 Adapter到控件
loantype_spr.setAdapter(loantype_sprItemsAdapter);
// //获取列表数据
caraddBT = (Button) findViewById(R.id.caraddBT);
back = (ImageView) findViewById(R.id.back);
tv_next = (TextView) findViewById(R.id.next);
// tv_next.setVisibility(View.VISIBLE);
TextView tv_pro = (TextView) findViewById(R.id.serach);
// tv_pro.setVisibility(View.VISIBLE);
edt_frll = (LinearLayout) findViewById(R.id.edt_frll);
edt_fr = (EditText) findViewById(R.id.edt_fr);
edt_jingYMJ = (EditText) findViewById(R.id.edt_jingYMJ);
edt_jingYRS = (EditText) findViewById(R.id.edt_jingYRS);
edt_conpanyAddr = (EditText) findViewById(R.id.edt_merAddress);
edt_zhengJCode = (EditText) findViewById(R.id.edt_cardSite);
edt_cardNum = (EditText) findViewById(R.id.edt_cardNum);
edt_playingtime = (EditText) findViewById(R.id.edt_playingtime);
modifiedED = (EditText) findViewById(R.id.modifiedED);
ExpectedPriceED = (EditText) findViewById(R.id.ExpectedPriceED);
DPprice= (EditText) findViewById(R.id.DPprice);
edt_frll.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(AddOrderActivity.this,
CarTypeActivity.class);
startActivityForResult(intent, 10);
}
});
edt_fr.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(AddOrderActivity.this,
CarTypeActivity.class);
startActivityForResult(intent, 10);
}
});
        cardType_sp = (EditText) findViewById(R.id.cardType_spr);
        Intent intent = getIntent();
        String test =intent.getStringExtra("test");
        if(test != null)
        {
        String ModelName = intent.getStringExtra("ModelName");
        Brand = intent.getStringExtra("Brand");
        Series = intent.getStringExtra("Series");
        allname = intent.getStringExtra("carname");
        cardType_sp.setTag(intent.getStringExtra("carname"));// 型号名称
        edt_fr.setTag(Series);
        edt_fr.setText(ModelName);
        }


cardType_sp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(AddOrderActivity.this,
ColorActivity.class);
startActivityForResult(intent, 2);
}
});
edt_zhengJCode.setOnClickListener(new OnClickListener() {
@Override
public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值