app第一阶段冲刺第七天
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/16183818.html
今天写个人资料的活动文件,下面是代码实现,然后还有就是设置界面的活动
package com.linlang.grasharepro.activity; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Message; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.dao.UserDB; import com.linlang.grasharepro.model.User; public class PersonInfo extends Activity { private UserDB userDB; private User user; private EditText et_displayName,et_loginId,et_sex,et_major,et_school,et_academicStarts,et_graduationTime,et_work,et_location,et_introduction,et_realName,et_birthday,et_contactWay,et_mail; private ImageView iv_back; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_person_info); initData(); TextView release = (TextView) findViewById(R.id.tv_updateUser); release.setOnClickListener(new MyOnClickListener()); iv_back = (ImageView) findViewById(R.id.iv_back); iv_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } public class MyOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { userDB = new UserDB(PersonInfo.this); userDB.open(); User updateUser = new User(user.getLoginName(),"",et_displayName.getText().toString(),et_realName.getText().toString(),et_sex.getText().toString(),et_birthday.getText().toString(),et_major.getText().toString(),et_school.getText().toString(),et_academicStarts.getText().toString(),et_graduationTime.getText().toString(),et_work.getText().toString(),et_location.getText().toString(),et_contactWay.getText().toString(),et_mail.getText().toString(),et_introduction.getText().toString(),"",""); int updateIndex = userDB.updateUser(updateUser); if(updateIndex!=0){ Toast.makeText(PersonInfo.this,"修改成功",Toast.LENGTH_SHORT).show(); } } } public void initData() { et_displayName = (EditText)findViewById(R.id.et_displayName); et_loginId = (EditText)findViewById(R.id.et_loginId); et_sex =(EditText)findViewById(R.id.et_sex); et_major =(EditText)findViewById(R.id.et_major); et_school =(EditText)findViewById(R.id.et_school); et_academicStarts =(EditText)findViewById(R.id.et_academicStarts); et_graduationTime =(EditText)findViewById(R.id.et_graduationTime); et_work =(EditText)findViewById(R.id.et_work); et_location =(EditText)findViewById(R.id.et_location); et_introduction =(EditText)findViewById(R.id.et_introduction); et_realName =(EditText)findViewById(R.id.et_realName); et_birthday =(EditText)findViewById(R.id.et_birthday); et_contactWay =(EditText)findViewById(R.id.et_contactWay); et_mail =(EditText)findViewById(R.id.et_mail); //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); userDB = new UserDB(this); userDB.open(); user = userDB.getUser(account); et_displayName.setText(user.getDisplayName()); et_loginId.setText(user.getLoginName()); et_sex.setText(user.getSex()); et_major.setText(user.getMajor()); et_school.setText(user.getSchool()); et_academicStarts.setText(user.getAcademicStarts()); et_graduationTime.setText(user.getGraduationTime()); et_work.setText(user.getWork()); et_location.setText(user.getLocation()); et_introduction.setText(user.getIntroduction()); et_realName.setText(user.getRealName()); et_birthday.setText(user.getBirthday()); et_contactWay.setText(user.getContactWay()); et_mail.setText(user.getMail()); } }
package com.linlang.grasharepro.activity; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.Switch; import android.widget.TextView; import com.linlang.grasharepro.R; public class EditActivity extends Activity { private TextView tv_aboutUs; private ImageView user_info_back; private View parentView; private Switch s_switch; private LinearLayout ll_msg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_person_edit); initView(); } private void initView() { tv_aboutUs = (TextView) findViewById(R.id.tv_aboutUs); tv_aboutUs.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showPopupWindow(view); } }); //后退按钮 user_info_back = (ImageView) findViewById(R.id.user_info_back); user_info_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditActivity.this.finish(); } }); ll_msg = (LinearLayout) findViewById(R.id.ll_msg); s_switch = (Switch) findViewById(R.id.s_switch); s_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){//开启 ll_msg.setVisibility(View.VISIBLE); }else{//关闭 ll_msg.setVisibility(View.GONE); } } }); } private void showPopupWindow(View view) { View parentView = LayoutInflater.from(this).inflate( R.layout.activity_person_edit, null); // 一个自定义的布局,作为显示的内容 View contentView = LayoutInflater.from(this).inflate( R.layout.about_us, null); final PopupWindow popupWindow = new PopupWindow(contentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); popupWindow.setTouchable(true); popupWindow.setTouchInterceptor(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Log.i("mengdd", "onTouch : "); return false; // 这里如果返回true的话,touch事件将被拦截 // 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss } }); // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框 // 我觉得这里是API的一个bug popupWindow.setBackgroundDrawable(getResources().getDrawable( R.drawable.list_background_imgbg)); // 设置好参数之后再show popupWindow.showAtLocation(parentView, Gravity.CENTER, 60, 0); } }
明天写适配器——adapter,继续坚持打卡
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)