2020-05-06

两次作业

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
 2 
 3     private MyDAO myDAO;  //数据库访问对象
 4     private ListView listView;
 5     private List<Map<String,Object>> listData;
 6     private Map<String,Object> listItem;
 7     private SimpleAdapter listAdapter;
 8 
 9     private EditText et_name;  //数据表包含3个字段,第1字段为自增长类型
10     private EditText et_age;
11 
12     private  String selId=null;  //选择项id
13 
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18 
19         Button bt_add= (Button) findViewById(R.id.bt_add);bt_add.setOnClickListener(this);
20         Button bt_modify=(Button)findViewById(R.id.bt_modify);bt_modify.setOnClickListener(this);
21         Button bt_del=(Button)findViewById(R.id.bt_del);bt_del.setOnClickListener(this);
22 
23         et_name=(EditText)findViewById(R.id.et_name);
24         et_age=(EditText)findViewById(R.id.et_age);
25 
26         myDAO = new MyDAO(this);  //创建数据库访问对象
27         if(myDAO.getRecordsNumber()==0) {  //防止重复运行时重复插入记录
28             myDAO.insertInfo("xuhuan", 21);   //插入记录
29             myDAO.insertInfo("xill", 21); //插入记录
30         }
31 
32         displayRecords();   //显示记录
33     }
34     public void displayRecords(){  //显示记录方法定义
35         listView = (ListView)findViewById(R.id.listView);
36         listData = new ArrayList<Map<String,Object>>();
37         Cursor cursor = myDAO.allQuery();
38         while (cursor.moveToNext()){
39             int id=cursor.getInt(0);  //获取字段值
40             String name=cursor.getString(1);
41             //int age=cursor.getInt(2);
42             int age=cursor.getInt(cursor.getColumnIndex("age"));//推荐此种方式
43             listItem=new HashMap<String,Object>(); //必须在循环体里新建
44             listItem.put("_id", id);  //第1参数为键名,第2参数为键值
45             listItem.put("name", name);
46             listItem.put("age", age);
47             listData.add(listItem);   //添加一条记录
48         }
49         listAdapter = new SimpleAdapter(this,
50                 listData,
51                 R.layout.list_item, //自行创建的列表项布局
52                 new String[]{"_id","name","age"},
53                 new int[]{R.id.tv_id,R.id.tvname,R.id.tvage});
54         listView.setAdapter(listAdapter);  //应用适配器
55         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {  //列表项监听
56             @Override
57             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
58                 Map<String,Object> rec= (Map<String, Object>) listAdapter.getItem(position);  //从适配器取记录
59                 et_name.setText(rec.get("name").toString());  //刷新文本框
60                 et_age.setText(rec.get("age").toString());
61                 Log.i("ly",rec.get("_id").toString());
62                 selId=rec.get("_id").toString();  //供修改和删除时使用
63             }
64         });
65     }
66     @Override
67     public void onClick(View v) {  //实现的接口方法
68         if(selId!=null) {  //选择了列表项后,可以增加/删除/修改
69             String p1 = et_name.getText().toString().trim();
70             int p2 = Integer.parseInt(et_age.getText().toString());
71             switch (v.getId()){
72                 case  R.id.bt_add:
73                     myDAO.insertInfo(p1,p2);
74                     break;
75                 case  R.id.bt_modify:
76                     myDAO.updateInfo(p1,p2,selId);
77                     Toast.makeText(getApplicationContext(),"更新成功!",Toast.LENGTH_SHORT).show();
78                     break;
79                 case  R.id.bt_del:
80                     myDAO.deleteInfo(selId);
81                     Toast.makeText(getApplicationContext(),"删除成功!",Toast.LENGTH_SHORT).show();
82                     et_name.setText(null);et_age.setText(null); selId=null; //提示
83             }
84         }else{  //未选择列表项
85             if(v.getId()==R.id.bt_add) {  //单击添加按钮
86                 String p1 = et_name.getText().toString();
87                 String p2=et_age.getText().toString();
88                 if(p1.equals("")||p2.equals("")){  //要求输入了信息
89                     Toast.makeText(getApplicationContext(),"姓名和年龄都不能空!",Toast.LENGTH_SHORT).show();
90                 }else{
91                     myDAO.insertInfo(p1, Integer.parseInt(p2));  //第2参数转型
92                 }
93             } else{   //单击了修改或删除按钮
94                 Toast.makeText(getApplicationContext(),"请先选择记录!",Toast.LENGTH_SHORT).show();
95             }
96         }
97         displayRecords();//刷新ListView对象
98     }
99 }

在这里插入图片描述
package com.example.myweixin;
2
3 import androidx.appcompat.app.AppCompatActivity;
4 import androidx.fragment.app.Fragment;
5 import androidx.fragment.app.FragmentManager;
6 import androidx.fragment.app.FragmentTransaction;
7
8 import android.content.DialogInterface;
9 import android.os.Bundle;
10 import android.util.Log;
11 import android.view.View;
12 import android.view.Window;
13 import android.widget.FrameLayout;
14 import android.widget.ImageButton;
15 import android.widget.LinearLayout;
16
17 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
18 private Fragment mtab01=new weixinFragment();
19 private Fragment mtab02=new friendFragment();
20 private Fragment mtab03=new contactFragment();
21 private Fragment mtab04=new setFragment();
22 private FragmentManager fm;
23
24 private LinearLayout mtabweixin;
25 private LinearLayout mtabfrd;
26 private LinearLayout mtabaddress;
27 private LinearLayout mtabset;
28 private ImageButton mimgweixin;
29 private ImageButton mimgfrd;
30 private ImageButton mimgaddress;
31 private ImageButton mimgset;
32 @Override
33 protected void onCreate(Bundle savedInstanceState) {
34 super.onCreate(savedInstanceState);
35 setContentView(R.layout.activity_main);
36 initView();
37 initFragment();
38 initEvent();
39
40 selectfragment(0);
41
42 }
43 private void initFragment(){
44 fm=getSupportFragmentManager();
45 FragmentTransaction transaction=fm.beginTransaction();
46 transaction.add(R.id.id_content,mtab01);
47 transaction.add(R.id.id_content,mtab02);
48 transaction.add(R.id.id_content,mtab03);
49 transaction.add(R.id.id_content,mtab04);
50 transaction.commit();
51 }
52
53 private void initView(){
54
55 mtabweixin=(LinearLayout) findViewById(R.id.weixin);
56 mtabfrd=(LinearLayout) findViewById(R.id.frd);
57 mtabaddress=(LinearLayout) findViewById(R.id.contact);
58 mtabset=(LinearLayout) findViewById(R.id.setting);
59
60 mimgweixin=findViewById(R.id.imageButton1);
61 mimgfrd=findViewById(R.id.imageButton2);
62 mimgaddress=findViewById(R.id.imageButton3);
63 mimgset=findViewById(R.id.imageButton4);
64 }
65 private void initEvent(){
66 mtabweixin.setOnClickListener(this);
67 mtabfrd.setOnClickListener(this);
68 mtabaddress.setOnClickListener(this);
69 mtabset.setOnClickListener(this);
70 }
71 private void hidefragment(FragmentTransaction transaction){
72
73 transaction.hide(mtab01);
74 transaction.hide(mtab02);
75 transaction.hide(mtab03);
76 transaction.hide(mtab04);
77 }
78 private void selectfragment(int i){
79 FragmentTransaction transaction=fm.beginTransaction();
80 hidefragment(transaction);
81 switch (i){
82 case 0:
83 transaction.show(mtab01);
84 mimgweixin.setImageResource(R.drawable.tab_weixin_pressed);
85 break;
86 case 1:
87 transaction.show(mtab02);
88 mimgfrd.setImageResource(R.drawable.tab_find_frd_pressed);
89 break;
90 case 2:
91 transaction.show(mtab03);
92 mimgaddress.setImageResource(R.drawable.tab_address_pressed);
93 break;
94 case 3:
95 transaction.show(mtab04);
96 mimgset.setImageResource(R.drawable.tab_settings_pressed);
97 break;
98 default:
99 break;
100 }
101 transaction.commit();
102 }
103
104 @Override
105 public void onClick(View v){
106 resetimg();
107
108 switch (v.getId()){
109 case R.id.imageButton1:
110 selectfragment(0);
111 System.out.println(v.getId());
112 break;
113 case R.id.imageButton2:
114 selectfragment(1);
115 break;
116 case R.id.imageButton3:
117 selectfragment(2);
118 break;
119 case R.id.imageButton4:
120 selectfragment(3);
121 break;
122 default:
123 break;
124 }
125
126 }
127 public void resetimg(){
128 mimgweixin.setImageResource(R.drawable.tab_weixin_normal);
129 mimgfrd.setImageResource(R.drawable.tab_find_frd_normal);
130 mimgaddress.setImageResource(R.drawable.tab_address_normal);
131 mimgset.setImageResource(R.drawable.tab_settings_normal);
132 }
133
134 }package com.example.myweixin; 2  3 import androidx.appcompat.app.AppCompatActivity; 4 import androidx.fragment.app.Fragment; 5 import androidx.fragment.app.FragmentManager; 6 import androidx.fragment.app.FragmentTransaction; 7  8 import android.content.DialogInterface; 9 import android.os.Bundle; 10 import android.util.Log; 11 import android.view.View; 12 import android.view.Window; 13 import android.widget.FrameLayout; 14 import android.widget.ImageButton; 15 import android.widget.LinearLayout; 16  17 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 18 private Fragment mtab01=new weixinFragment(); 19 private Fragment mtab02=new friendFragment(); 20 private Fragment mtab03=new contactFragment(); 21 private Fragment mtab04=new setFragment(); 22 private FragmentManager fm; 23  24 private LinearLayout mtabweixin; 25 private LinearLayout mtabfrd; 26 private LinearLayout mtabaddress; 27 private LinearLayout mtabset; 28 private ImageButton mimgweixin; 29 private ImageButton mimgfrd; 30 private ImageButton mimgaddress; 31 private ImageButton mimgset; 32 @Override 33 protected void onCreate(Bundle savedInstanceState) { 34 super.onCreate(savedInstanceState); 35 setContentView(R.layout.activity_main); 36 initView(); 37 initFragment(); 38 initEvent(); 39  40 selectfragment(0); 41  42 } 43 private void initFragment(){ 44 fm=getSupportFragmentManager(); 45 FragmentTransaction transaction=fm.beginTransaction(); 46 transaction.add(R.id.id_content,mtab01); 47 transaction.add(R.id.id_content,mtab02); 48 transaction.add(R.id.id_content,mtab03); 49 transaction.add(R.id.id_content,mtab04); 50 transaction.commit(); 51 } 52  53 private void initView(){ 54  55 mtabweixin=(LinearLayout) findViewById(R.id.weixin); 56 mtabfrd=(LinearLayout) findViewById(R.id.frd); 57 mtabaddress=(LinearLayout) findViewById(R.id.contact); 58 mtabset=(LinearLayout) findViewById(R.id.setting); 59  60 mimgweixin=findViewById(R.id.imageButton1); 61 mimgfrd=findViewById(R.id.imageButton2); 62 mimgaddress=findViewById(R.id.imageButton3); 63 mimgset=findViewById(R.id.imageButton4); 64 } 65 private void initEvent(){ 66 mtabweixin.setOnClickListener(this); 67 mtabfrd.setOnClickListener(this); 68 mtabaddress.setOnClickListener(this); 69 mtabset.setOnClickListener(this); 70 } 71 private void hidefragment(FragmentTransaction transaction){ 72  73 transaction.hide(mtab01); 74 transaction.hide(mtab02); 75 transaction.hide(mtab03); 76 transaction.hide(mtab04); 77 } 78 private void selectfragment(int i){ 79 FragmentTransaction transaction=fm.beginTransaction(); 80 hidefragment(transaction); 81 switch (i){ 82 case 0: 83 transaction.show(mtab01); 84 mimgweixin.setImageResource(R.drawable.tab_weixin_pressed); 85 break; 86 case 1: 87 transaction.show(mtab02); 88 mimgfrd.setImageResource(R.drawable.tab_find_frd_pressed); 89 break; 90 case 2: 91 transaction.show(mtab03); 92 mimgaddress.setImageResource(R.drawable.tab_address_pressed); 93 break; 94 case 3: 95 transaction.show(mtab04); 96 mimgset.setImageResource(R.drawable.tab_settings_pressed); 97 break; 98 default: 99 break;100 }101 transaction.commit();102 }103 104 @Override105 public void onClick(View v){106 resetimg();107 108 switch (v.getId()){109 case R.id.imageButton1:110 selectfragment(0);111 System.out.println(v.getId());112 break;113 case R.id.imageButton2:114 selectfragment(1);115 break;116 case R.id.imageButton3:117 selectfragment(2);118 break;119 case R.id.imageButton4:120 selectfragment(3);121 break;122 default:123 break;124 }125 126 }127 public void resetimg(){128 mimgweixin.setImageResource(R.drawable.tab_weixin_normal);129 mimgfrd.setImageResource(R.drawable.tab_find_frd_normal);130 mimgaddress.setImageResource(R.drawable.tab_address_normal);131 mimgset.setImageResource(R.drawable.tab_settings_normal);132 }133 134 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值