博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学生管理系统(LinearLayout)
阅读量:2396 次
发布时间:2019-05-10

本文共 6139 字,大约阅读时间需要 20 分钟。

linearLayout在代码中的使用

package com.heima.student_manage;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlSerializer;import com.heima.student_manage.entities.Student;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.text.TextUtils;import android.util.Xml;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class Student_manageActivity extends Activity implements OnClickListener{    /** Called when the activity is first created. */	private EditText name_mes;	private EditText sex_mes;	private EditText age_mes;	private Button add_student;	private Button save_student;	private Button restore_student;	LinearLayout llStudentList = null;	List
studentlist = null; String path = ""; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //先根据id获取所有键 init(); } private void init() { // TODO Auto-generated method stub name_mes = (EditText) findViewById(R.id.name_mes); sex_mes = (EditText) findViewById(R.id.sex_mes); age_mes = (EditText) findViewById(R.id.age_mes); add_student = (Button) findViewById(R.id.bt_add); save_student = (Button) findViewById(R.id.btn_save); restore_student = (Button) findViewById(R.id.btn_restore); llStudentList = (LinearLayout) findViewById(R.id.ll_student_list); //为按钮设置监听器 add_student.setOnClickListener(this); save_student.setOnClickListener(this); restore_student.setOnClickListener(this); studentlist = new ArrayList
(); path = Environment.getExternalStorageDirectory().getPath() + "/student.xml"; } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.bt_add: addStudent(); break; case R.id.btn_save: if(studentlist.size()>0){ if(savetudent()){ Toast.makeText(this, "保存成功", 0).show(); }else{ Toast.makeText(this, "保存失败", 0).show(); } }else{ Toast.makeText(this, "暂无数据", 0).show(); } break; case R.id.btn_restore: if(restoreStudentFromLocal()) { Toast.makeText(this, "恢复成功", 0).show(); } else { Toast.makeText(this, "恢复失败", 0).show(); } break; default: break; } } private boolean restoreStudentFromLocal() { // TODO Auto-generated method stub try { File file = new File(path); FileInputStream fis = new FileInputStream(file); studentlist.clear(); XmlPullParser parser = Xml.newPullParser(); parser.setInput(fis, "utf-8"); Student student = null; int eventType = parser.getEventType(); String nodeName = ""; while(eventType != XmlPullParser.END_DOCUMENT) { nodeName = parser.getName(); switch (eventType) { case XmlPullParser.START_TAG: if("student".equals(nodeName)) { student = new Student(); } else if("name".equals(nodeName)) { student.setName(parser.nextText()); } else if("sex".equals(nodeName)) { student.setSex(parser.nextText()); } else if("age".equals(nodeName)) { student.setAge(Integer.valueOf(parser.nextText())); } break; case XmlPullParser.END_TAG: if("student".equals(nodeName)) { studentlist.add(student); } break; default: break; } eventType = parser.next(); } refreshStudentList(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } private void refreshStudentList() { // TODO Auto-generated method stub // llStudentList.removeAllViews(); TextView textview = null; for(Student student : studentlist){ //添加到界面上 textview = new TextView(this); textview.setText("  " + student.getName() + "    " + student.getSex() + "    " + student.getAge()); llStudentList.addView(textview); } } private boolean savetudent() { // TODO Auto-generated method stub try { FileOutputStream fos = new FileOutputStream(path); XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(fos, "utf-8"); serializer.startDocument("utf-8", true); serializer.startTag(null, "infos"); for (Student stu : studentlist) { serializer.startTag(null, "student"); serializer.startTag(null, "name"); serializer.text(stu.getName()); serializer.endTag(null, "name"); serializer.startTag(null, "sex"); serializer.text(stu.getSex()); serializer.endTag(null, "sex"); serializer.startTag(null, "age"); serializer.text(String.valueOf(stu.getAge())); serializer.endTag(null, "age"); serializer.endTag(null, "student"); } serializer.endTag(null, "infos"); serializer.endDocument(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } private void addStudent() { // TODO Auto-generated method stub String name = name_mes.getText().toString(); String sex = sex_mes.getText().toString(); String age = age_mes.getText().toString(); if(!TextUtils.isEmpty(name) && !TextUtils.isEmpty(sex) && !TextUtils.isEmpty(age)){ //添加到学生列表 Student student = new Student(name, sex, Integer.valueOf(age)); studentlist.add(student); //添加到界面上 TextView textview = new TextView(this); textview.setText("  " + name + "    " + sex + "    " + age); llStudentList.addView(textview); }else{ Toast.makeText(this, "请正确输入", 0).show(); } }}

转载于:https://my.oschina.net/u/2356176/blog/421050

你可能感兴趣的文章
强大的g++呢还是强大的C++?太假了吧
查看>>
C++中的内联函数inline总结
查看>>
C++中的函数指针的一些总结
查看>>
ubuntu下为postgresql添加ODBC驱动过程
查看>>
linux下的su,su -,以及cd,cd - ,cd ~总结
查看>>
CAS锁为什么是乐观锁呢
查看>>
Argument of type '(Foo::)(int,int)' does not match 'void (*)(int,int)'以及静态函数问题
查看>>
今天遇到的postgresql中的备份和恢复
查看>>
正好碰到了C++的函数对象,查各路资料,总结写下来吧
查看>>
今天试vi遇到的“Sorry,the command is not available in this version : syntax on”
查看>>
今天又搞到个libDTL.so is not an ELF file - it has the wrong magic bytes at the start.
查看>>
MinGW和vc6中编译DTL的过程
查看>>
Fedora13下为postgresql添加ODBC驱动过程
查看>>
Bridge模式学习
查看>>
Virtual的一些总结
查看>>
Fedora13上折腾了下ACE
查看>>
tomcat keepAliveTimeout=0问题
查看>>
JDK1.6在SUSE11下问题跳变定时任务失效问题记录
查看>>
400 Bad request 一例
查看>>
fedora4上安装gcc2.9,编译安装rainbow过程
查看>>