实验二
实验2.1
main_activity.java
package com.example.text2;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private EditText name = null;
private Button tixing = null;
private CheckBox box1 , box2 , box3, box4;
private List<CheckBox> checkBoxList = new ArrayList<CheckBox>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.name = (EditText)super.findViewById(R.id.edit1);
this.tixing = (Button)super.findViewById((R.id.tixing));
box1 = (CheckBox)super.findViewById((R.id.box1));
box2 = (CheckBox)super.findViewById((R.id.box2));
box3 = (CheckBox)super.findViewById((R.id.box3));
box4 = (CheckBox)super.findViewById((R.id.box4));
checkBoxList.add(box1);
checkBoxList.add(box2);
checkBoxList.add(box3);
checkBoxList.add(box4);
tixing.setOnClickListener(new ShowListerer());
}
private class ShowListerer implements View.OnClickListener {
public void onClick(View v)
{
StringBuffer sb = new StringBuffer();
for (CheckBox checkbox : checkBoxList) {
if (checkbox.isChecked()){
sb.append(checkbox.getText().toString() + " ");
}
}
String info = name.getText().toString();
AlertDialog.Builder builder= new AlertDialog.Builder(MainActivity.this);//MainActivity.this为当前环境
if(info.trim().equals(""))
{
builder.setMessage("请输入姓名");//提示内容
}
else
{
builder.setMessage("姓名是: "+info+"\n"+"性别"+"\n"+"专业"+"\n"+"兴趣爱好 "+""+sb.toString());//提示内容
}
builder.setPositiveButton("确认", null);//确定按钮
builder.create().show();
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:layout_marginLeft="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:"
android:textSize="20dp"
android:layout_weight="1"/>
<EditText
android:id="@+id/edit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李坤松 2012020047"
android:textSize="20dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:orientation="horizontal">
<TextView
android:id="@+id/gender"
android:layout_marginLeft="10dp"
android:layout_marginTop="19dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别"
android:textSize="20dp" />
<RadioGroup
android:id="@+id/Radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="男"
android:textSize="20dp"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="女"
android:textSize="20dp"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="专业"
android:textSize="20dp"/>
<Spinner
android:id="@+id/chose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:prompt="@string/eduprompt"
android:entries="@array/edu"
android:spinnerMode="dialog"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="兴趣爱好"
android:textSize="20dp"
android:layout_marginLeft="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal">
<CheckBox
android:id="@+id/box1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:text="音乐"/>
<CheckBox
android:id="@+id/box2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:text="运动"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal">
<CheckBox
android:id="@+id/box3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:text="游泳"/>
<CheckBox
android:id="@+id/box4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:text="阅读"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/tixing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="提交"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="取消"/>
</LinearLayout>
</LinearLayout>
strings.xml
<resources>
<string name="app_name">text2</string>
<string name="eduprompt">请选择你的专业</string>
</resources>
edu.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="edu">
<item>计算机科学与技术</item>
<item>大数据开发</item>
<item>信息安全</item>
<item>人工智能</item>
</string-array>
</resources>
实验2.2-1
MainActivity.java
package com.example.text22;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
private String listdata[] = {
"移动应用开发技术","计算机组成原理","数据结构","操作系统","面向对象技术","逻辑设计"
};
private ListView listview;
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<HashMap<String,String>>list = new ArrayList<HashMap<String,String>>();
HashMap<String ,String > map1 = new HashMap<String , String>();
this.textview = (TextView) super.findViewById(R.id.title) ;
this.listview = (ListView) super.findViewById(R.id.Mylistview);
this.listview.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1,
this.listdata));
listview.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3)
{
String text = (String) listview.getItemAtPosition(arg2);
textview.setText(text);
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MenuDemo"
android:layout_marginLeft="20dp"
android:gravity="left"
android:textSize="20dp"/>
<ListView
android:id="@+id/Mylistview"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
实验2.2-2
Mainactivity.java
package com.example.test22_2;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ListActivity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<Map<String,Object>> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<Map<String,Object>>();
listView = (ListView) findViewById(R.id.listView);
Map<String,Object> map1 = new HashMap<String,Object>();
Map<String,Object> map2 = new HashMap<String,Object>();
Map<String,Object> map3 = new HashMap<String,Object>();
Map<String,Object> map4 = new HashMap<String,Object>();
Map<String,Object> map5 = new HashMap<String,Object>();
Map<String,Object> map6 = new HashMap<String,Object>();
map1.put("title","姓名");
map1.put("info","李坤松");
map1.put("picture",R.drawable.img);
list.add(map1);
map2.put("title","性别");
map2.put("info","男");
map2.put("picture",R.drawable.img);
list.add(map2);
map3.put("title","学号");
map3.put("info","2012020047");
map3.put("picture",R.drawable.img);
list.add(map3);
map4.put("title","年龄");
map4.put("info","19");
map4.put("picture",R.drawable.img);
list.add(map4);
map5.put("title","居住地");
map5.put("info","开封");
map5.put("picture",R.drawable.img);
list.add(map5);
map6.put("title","邮箱");
map6.put("info","2012020047@henu.edu.cn");
map6.put("picture",R.drawable.img);
list.add(map6);
// SimpleAdapter simpleAdapter = new SimpleAdapter(this,list,R.layout.user,new String[]
// {"title","info","picture"},
// new int[] {R.id.title,R.id.info,R.id.picture});
MyAdapter adapter = new MyAdapter(this,list,R.layout.user);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
adapter.setCurrentItem(i);
adapter.setClick(true);
adapter.notifyDataSetChanged();
}
});
}
class MyAdapter extends BaseAdapter {
private Context context;
private int resource;
private List<Map<String,Object>> list;
private int mCurrentItem=0;
private boolean isClick=false;
/**
* 有参构造
*
* @param context
* 界面
* @param list
* 数据
* @param resource
* 列表项资源文件
*/
public MyAdapter(Context context, List<Map<String, Object>> list, int resource) {
this.context = context;
this.list = list;
this.resource = resource;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
// 声明内部类
Util util = null;
final int flag = i;
if(view == null){
util = new Util();
// 给xml布局文件创建java对象
LayoutInflater inflater = LayoutInflater.from(context);
view = inflater.inflate(resource, null);
// 指向布局文件内部组件
util.picture = (ImageView) view.findViewById(R.id.picture);
util.info = (TextView) view.findViewById(R.id.info);
util.title = (TextView) view.findViewById(R.id.title);
// 增加额外变量
view.setTag(util);
}
else {
util = (Util) view.getTag();
}
// 获取数据显示在各组件
Map<String, Object> map = list.get(i);
util.info.setText((String) map.get("info"));
util.title.setText((String) map.get("title"));
util.picture.setImageResource((Integer) map.get("picture"));
LinearLayout parent= (LinearLayout) view.findViewById(R.id.parent1);
if (mCurrentItem==i&&isClick){
parent.setBackgroundColor(Color.parseColor("#708090"));
}else{
parent.setBackgroundColor(Color.parseColor("#FFB6C1"));
}
return view;
}
public void setCurrentItem(int currentItem){
this.mCurrentItem=currentItem;
}
public void setClick(boolean click){
this.isClick=click;
}
/**
* 内部类,用于辅助适配
*
* @author qiangzi
*
*/
class Util{
TextView title;
TextView info;
ImageView picture;
}
}
}
activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="个人信息"
android:textSize="20dp"/>
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
user.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:id="@+id/parent1"
android:cacheColorHint = "#2BE4D3">
<ImageView
// 图片在res/drawabale里面,自己放
android:id="@+id/picture"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_margin="5dip"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"/>
<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"/>
</LinearLayout>
</LinearLayout>