赞
踩
1、输入框:
final EditText inputServer = new EditText(this);
inputServer.setFilters(new InputFilter[]{new InputFilter.LengthFilter(50)});
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(“个性点的签名”).setIcon(android.R.drawable.ic_dialog_info).setView(inputServer)
.setNegativeButton(“取消”, null);
builder.setPositiveButton(“确定”, new DialogInterface.OnClickListener() {undefined
public void onClick(DialogInterface dialog, int which) {undefined
String _sign = inputServer.getText().toString();
if(_sign!=null && !_sign.isEmpty())
{undefined
signature_txt.setText(_sign);
}
else
{undefined
Toast.makeText(MemberActivity.this,“签名为空”,Toast.LENGTH_SHORT).show();
}
}
});
builder.show();
2、选择弹出框
final String[] items = {“保密”,“男”,“女”};
new AlertDialog.Builder(MemberActivity.this)
.setTitle(“请选择”)
.setItems(items, new DialogInterface.OnClickListener() {undefined
public void onClick(DialogInterface dialog,
int which) {undefined
TextView item_value = (TextView)memberInfo_tab_list_2.getChildAt(2).findViewById(R.id.item_value);
item_value.setText(items[which]);
}
}).show();
我的代码如下
package com.meetdilse.store.ui.activity; import android.app.AlertDialog; import android.app.DatePickerDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.text.InputFilter; import android.util.Log; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import com.meetdilse.store.R; import com.meetdilse.store.base.BaseActivity; import com.meetdilse.store.base.OkHttp; import com.meetdilse.store.data.Myself; import com.meetdilse.store.utils.ToastUtil; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; public class ModInfActivity extends BaseActivity {//baseactivity继承于原来那个,然后全部的activity都继承于baseactivity private ProgressDialog progressDialog; private TextView tvBirthday1; private Calendar calendar;// 用来装日期的 private DatePickerDialog dialog; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(com.meetdilse.store.R.layout.activity_modify_information); TextView tvNickname = findViewById(R.id.tv_nickname); TextView tvNickname1 = findViewById(R.id.tv_nickname1); TextView tvSex = findViewById(R.id.tv_sex); TextView tvSex1 = findViewById(R.id.tv_sex1); TextView tvBirthday = findViewById(R.id.tv_birthday); tvBirthday1 = findViewById(R.id.tv_birthday1); TextView tvSign = findViewById(R.id.tv_sign); TextView tvSign1 = findViewById(R.id.tv_sign1); tvNickname.setOnClickListener(new View.OnClickListener() {//点击按键弹出输入弹框 @Override public void onClick(View view) { final EditText inputServer = new EditText(ModInfActivity.this); inputServer.setFilters(new InputFilter[]{new InputFilter.LengthFilter(50)});//设置最多只能输入50个字符 AlertDialog.Builder builder = new AlertDialog.Builder(ModInfActivity.this);//构建对话框,一个对话框,上面有输入框了,然后就还要有取消和确认键 builder.setIcon(android.R.drawable.ic_dialog_info).setView(inputServer) .setNegativeButton("取消", null);//设置取消键 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {//设置确认键,且对确认键进行监听 public void onClick(DialogInterface dialog, int which) { String sign = inputServer.getText().toString();//点击确认后获取输入框的内容 if (sign != null && !sign.isEmpty()) {//如果内容不为空,这个判断是为了防止空指针 tvNickname1.setText(sign);//settext Map<String, String> params = new HashMap<>(); params.put("nickname", sign); OkHttp.create(ModInfActivity.this).updateSelfInfo(params).enqueue((Call, httpRes) -> {//发送okhttp请求,将修改的信息上传到服务器 if (httpRes.isSuccessful()) { Log.v("updateSelfInfo", httpRes.toString()); } }); } else { Toast.makeText(ModInfActivity.this, "签名为空", Toast.LENGTH_SHORT).show(); } } }); builder.show();//启动 } }); tvSex.setOnClickListener(new View.OnClickListener() {//点击按键弹出选择弹框 @Override public void onClick(View view) { final String[] items = {"男", "女"};//选择的内容 new AlertDialog.Builder(ModInfActivity.this)//新建对话框 .setNegativeButton("取消", null)//取消键 .setTitle("请选择")//标题 .setItems(items, new DialogInterface.OnClickListener() {//设置选择的内容,且对选择的内容进行监听 public void onClick(DialogInterface dialog, int which) { // TextView item_value = (TextView)memberInfo_tab_list_2.getChildAt(2).findViewById(R.id.item_value);//绑定选项的那个控件 // // item_value.setText(items[which]);//这个可以看看效果是怎么样的 // tvSex1.setText(items[which]);//自己绑定的控件显示选择到的内容 if (items[which] == "男") {//如果选择的是男的,就发送请求上传到服务器 Map<String, String> params = new HashMap<>(); params.put("sex", "1"); OkHttp.create(ModInfActivity.this).updateSelfInfo(params).enqueue((Call, httpRes) -> { if (httpRes.isSuccessful()) { Log.v("updateSelfInfo", httpRes.toString()); tvSex1.setText("男"); } }); } if (items[which] == "女") { Map<String, String> params = new HashMap<>(); params.put("sex", "2"); OkHttp.create(ModInfActivity.this).updateSelfInfo(params).enqueue((Call, httpRes) -> { if (httpRes.isSuccessful()) { Log.v("updateSelfInfo", httpRes.toString()); tvSex1.setText("女"); } }); } } }).show(); } }); tvSign.setOnClickListener(new View.OnClickListener() {//点击按键弹出输入弹窗 @Override public void onClick(View view) { final EditText inputServer = new EditText(ModInfActivity.this); inputServer.setFilters(new InputFilter[]{new InputFilter.LengthFilter(50)}); AlertDialog.Builder builder = new AlertDialog.Builder(ModInfActivity.this); builder.setIcon(android.R.drawable.ic_dialog_info).setView(inputServer) .setNegativeButton("取消", null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { String sign = inputServer.getText().toString(); if (sign != null && !sign.isEmpty()) { tvSign1.setText(sign); Map<String, String> params = new HashMap<>(); params.put("signature", sign); OkHttp.create(ModInfActivity.this).updateSelfInfo(params).enqueue((Call, httpRes) -> { if (httpRes.isSuccessful()) { Log.v("updateSelfInfo", httpRes.toString()); } }); } else { Toast.makeText(ModInfActivity.this, "签名为空", Toast.LENGTH_SHORT).show(); } } }); builder.show(); } }); tvBirthday.setOnClickListener(new View.OnClickListener() {//点击按键弹出日期选择器 @Override public void onClick(View view) { progressDialog = new ProgressDialog(ModInfActivity.this); progressDialog.show();//可能是系统进度条的显示 progressDialog.dismiss();//可能是系统进度条的消失 calendar = Calendar.getInstance();//获取日历对象 Calendar ninth = Calendar.getInstance();//这里又获取一个 ninth.set(Calendar.MONTH, 1970);//这里的1970是用来限制日历的,不能选择小于1970的年份 dialog = new DatePickerDialog(ModInfActivity.this, new DatePickerDialog.OnDateSetListener() {//日期选择器 @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { System.out.println("年-->" + year + "月-->" + monthOfYear + "日-->" + dayOfMonth); Calendar calendar = Calendar.getInstance();//获取日期对象 calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, monthOfYear); calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);//设置年月日,点击到的就赋值到这里来 if (year>1970){ Long timeInMillis = calendar.getTimeInMillis() / 1000;//除1000是因为服务器以毫秒算的来着 int monYear = monthOfYear + 1;//系统月是数组形式的,要加1才是正确的月份 tvBirthday1.setText(year + "/" + monYear + "/" + dayOfMonth); Log.v("timeInMillis", String.valueOf(timeInMillis)); Map<String, String> params = new HashMap<>();//创建hashmap对象 params.put("birthday", String.valueOf(timeInMillis));//放数据进去 OkHttp.create(ModInfActivity.this).updateSelfInfo(params).enqueue((call, httpRes) -> { Log.v("updateSelfInfobriday", httpRes.toString()); if (httpRes.isSuccessful()) { Log.v("updateSelfInfobriday", httpRes.toString()); } ToastUtil.out(httpRes.getMsg());//有这个吐司工具类才能这样子用 }); }else {ToastUtil.out("请选择大于1970的年份");} } }, calendar.get(Calendar.YEAR), calendar .get(Calendar.MONTH), calendar .get(Calendar.DAY_OF_MONTH)); dialog.show();//最后点show } } ); OkHttp.create(this).getSelfInfo().enqueue((call, httpRes) -> {//在点击事件里面settext后,退出界面又进来就会失效了的,这里重新拉一遍数据 Log.d("abc123", httpRes.toString()); if (httpRes.isSuccessful()) { Myself mySelf = httpRes.dataFromObj(Myself.class); tvNickname1.setText(String.valueOf(mySelf.getNickname())); if (mySelf.getSex() == 1) { tvSex1.setText("男"); } if (mySelf.getSex() == 2) { tvSex1.setText("女"); } Date day = new Date();//获取现在的日期 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化 String now = df.format(day);//现在的日期格式化获得字符串形式 try { Date now1 = df.parse(now);//字符串转日期 long second = mySelf.getBirthday();//获取服务器日期,秒单位 String dateString = secondToDate(second, "yyyy-MM-dd hh:mm:ss");//将秒格式化为日期 Log.v("birthday111", dateString); String stime = dateString.substring(0, 10);//格式化好后获得字符串数据,然后裁剪0到9的数据出来 tvBirthday1.setText(stime); } catch (ParseException e) { e.printStackTrace(); } tvSign1.setText(String.valueOf(mySelf.getSignature())); } }); } private String secondToDate(long second, String patten) {//这个方法可以让秒转为日期 Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(second * 1000);//转换为毫秒 Date date = calendar.getTime(); SimpleDateFormat format = new SimpleDateFormat(patten); String dateString = format.format(date); return dateString; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。