由于公司需要做一个Demo,之前又没接触过安卓app的开发(我做Java后台),于是各种百度,用了几天,也算是把这个小Demo做出来了,尽管页面不好看(反正我觉得好看),但是功能勉强能给小白一点点帮助。
Demo没有连接数据库,用的数据都是在代码写死的,主要的功能是登录模块,页面展示列表,按钮触发事件,页面跳转,数据获取,其他也没啥了。
用admin登录时:
MainActivity.java
package com.example.demo;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button btn1;
private EditText username;
private EditText password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (EditText)findViewById(R.id.et1);
password = (EditText)findViewById(R.id.et2);
btn1 = findViewById(R.id.btn_login);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.putExtra("username",username.getText().toString());
intent.putExtra("password",password.getText().toString());
String confirmUsername = username.getText().toString();
String confirmPassword = password.getText().toString();
if("admin".equals(confirmUsername) && "123".equals(confirmPassword)){
intent.setClass(MainActivity.this,InfoActivity.class);
startActivity(intent);
}else if("zhangsan".equals(confirmUsername) && "123".equals(confirmPassword)){
intent.setClass(MainActivity.this,ZhangSanActivity.class);
startActivity(intent);
}else{
Toast.makeText(MainActivity.this,"用户名或者密码错误!",Toast.LENGTH_SHORT).show();
return;
}
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="55px"
android:paddingRight="50px"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="28dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20px"
android:text="登陆界面" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/et1"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:paddingLeft="10dp"
android:hint="请输入账号"
android:inputType="text"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="8px">
<EditText
android:id="@+id/et2"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_marginTop="26dp"
android:hint="请输入密码"
android:inputType="textPassword" />
</LinearLayout>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/button_danger_disabled_edge"
android:layout_marginTop="30dp"
android:text="登 陆"
android:textSize="30dp"
android:textColor="@color/button_danger"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
InfoActivity.java
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class InfoActivity extends Activity implements OnItemClickListener, ItemAdapter.Callback {
private List<Car> carList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
carList.add(new Car("1", "闽D11111", "望海路", "未处理", "分 发"));
carList.add(new Car("2", "闽D22222", "望海路", "未处理", "分 发"));
carList.add(new Car("3", "闽D33333", "望海路", "未处理", "分 发"));
carList.add(new Car("4", "闽D44444", "望海路", "未处理", "分 发"));
carList.add(new Car("5", "闽D55555", "望海路", "未处理", "分 发"));
carList.add(new Car("6", "闽D66666", "望海路", "未处理", "分 发"));
carList.add(new Car("7", "闽D77777", "望海路", "未处理", "分 发"));
carList.add(new Car("8", "闽D88888", "望海路", "未处理", "分 发"));
carList.add(new Car("9", "闽D99999", "望海路", "未处理", "分 发"));
carList.add(new Car("10", "闽D00000", "望海路", "未处理", "分 发"));
carList.add(new Car("11", "闽D12345", "望海路", "未处理", "分 发"));
carList.add(new Car("12", "闽D23456", "望海路", "未处理", "分 发"));
carList.add(new Car("13", "闽D34567", "望海路", "未处理", "分 发"));
carList.add(new Car("14", "闽D45678", "望海路", "未处理", "分 发"));
carList.add(new Car("15", "闽D56789", "望海路", "未处理", "分 发"));
carList.add(new Car("16", "闽D46522", "望海路", "未处理", "分 发"));
carList.add(new Car("17", "闽D94523", "望海路", "未处理", "分 发"));
carList.add(new Car("18", "闽D82355", "望海路", "未处理", "分 发"));
carList.add(new Car("19", "闽D48453", "望海路", "未处理", "分 发"));
carList.add(new Car("20", "闽D28975", "望海路", "未处理", "分 发"));
ItemAdapter itemAdapter = new ItemAdapter(this, R.layout.item, carList,this);
ListView listView = findViewById(R.id.listView);
listView.setAdapter(itemAdapter);
listView.setOnItemClickListener(this);
Button button = findViewById(R.id.detail);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(InfoActivity.this,TotalTaskActivity.class);
startActivity(intent);
}
});
}
@Override
public void click(View v) {
Intent intent = new Intent();
intent.setClass(InfoActivity.this,PersonActivity.class);
startActivity(intent);
// Toast.makeText(InfoActivity.this,"第"+v.getTag()+"条数据",Toast.LENGTH_SHORT).show();
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(this, "listview的item被点击了!,点击的位置是-->" + i,Toast.LENGTH_SHORT).show();
}
}
activity_info.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
>
<TableRow>
<Button
android:id="@+id/detail"
android:layout_width="415dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="点击查看统计明细"
android:textColor="@color/button_danger"
android:textSize="20dp" />
</TableRow>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end"
android:orientation="horizontal">
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="序号"
/>
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="车牌号"
/>
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="违规地点"
/>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="状态"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="操作"
/>
</LinearLayout>
<!-- ListView控件 -->
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView"
/>
</TableLayout>
</LinearLayout>
TotalTaskActivity.java
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class TotalTaskActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.total_task);
btn = findViewById(R.id.report);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(TotalTaskActivity.this,ReportActivity.class);
startActivity(intent);
}
});
}
}
total_task.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableRow
android:divider="@drawable/line_h"
android:orientation="horizontal"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="日期" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="事件总数" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="已处理" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未处理" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-14"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="35" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="30" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="5" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-15"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="32" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="12" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="20" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-16"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="20" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="10" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="10" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-17"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="100" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="30" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="70" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-18"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="61" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="31" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="30" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-19"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="20" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="20" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="0" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2021-05-20"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="14" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="7" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="7" />
</TableRow>
</TableLayout>
<Button
android:id="@+id/report"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/button_danger"
android:layout_marginTop="30dp"
android:text="录入事件"
android:textSize="20dp"
android:textColor="@color/colorPrimary"/>
</LinearLayout>
ReportActivity.java
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class ReportActivity extends Activity {
private Button button;
private EditText eventName;
private EditText eventAddress;
private EditText event;
private EditText eventDetail;
private EditText reportPerson;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.report);
eventName = findViewById(R.id.eventName);
eventAddress = findViewById(R.id.eventAddress);
event = findViewById(R.id.event);
eventDetail = findViewById(R.id.eventDetail);
reportPerson = findViewById(R.id.reportPerson);
button = findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(eventName.getText().toString().length()<1||eventAddress.getText().toString().length()<1||event.getText().toString().length()<1||eventDetail.getText().toString().length()<1||reportPerson.getText().toString().length()<1){
Toast.makeText(ReportActivity.this,"请完整录入内容!",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(ReportActivity.this,"录入成功!",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(ReportActivity.this,TotalTaskActivity.class);
startActivity(intent);
}
}
});
}
}
report.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:gravity="center"
>
<TableRow
android:id="@+id/tableRow1"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="事件名称:"
android:textSize="30px"
/>
<EditText
android:id="@+id/eventName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="500px"
android:textSize="50px"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="事件地点:"
android:textSize="30px"
/>
<EditText
android:id="@+id/eventAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="500px"
android:textSize="50px"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发生事件:"
android:textSize="30px"
/>
<EditText
android:id="@+id/event"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="500px"
android:textSize="50px"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="描 述:"
android:textSize="30px"
/>
<EditText
android:id="@+id/eventDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="500px"
android:textSize="50px"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上 报 人:"
android:textSize="30px"
/>
<EditText
android:id="@+id/reportPerson"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="500px"
android:textSize="50px"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上 报"
android:textSize="30px"
/>
</TableRow>
</TableLayout>
PersonActivity.java
package com.example.demo;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
public class PersonActivity extends Activity {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;
private TextView textView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fenfarenyuan);
btn1 = findViewById(R.id.zs);
btn2 = findViewById(R.id.ls);
btn3 = findViewById(R.id.ww);
btn4 = findViewById(R.id.zl);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(PersonActivity.this);
builder.setMessage("确定将任务分配给张三吗?");
builder.setTitle("确认对话框");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(PersonActivity.this,"任务分配成功!",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(PersonActivity.this,InfoActivity.class);
startActivity(intent);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(PersonActivity.this);
builder.setMessage("确定将任务分配给李四吗?");
builder.setTitle("确认对话框");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(PersonActivity.this,"任务分配成功!",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(PersonActivity.this,InfoActivity.class);
startActivity(intent);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(PersonActivity.this);
builder.setMessage("确定将任务分配给王五吗?");
builder.setTitle("确认对话框");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(PersonActivity.this,"任务分配成功!",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(PersonActivity.this,InfoActivity.class);
startActivity(intent);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
});
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(PersonActivity.this);
builder.setMessage("确定将任务分配给赵六吗?");
builder.setTitle("确认对话框");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(PersonActivity.this,"赵六未在岗,不能分配任务!",Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
});
}
}
fenfarenyuan.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableRow
android:divider="@drawable/line_h"
android:orientation="horizontal"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="序号" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="姓名" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="性别" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="状态" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="操作" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="1"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="张三" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="男" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="在岗" />
<Button
android:id="@+id/zs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="选择" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="李四" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="男" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="在岗" />
<Button
android:id="@+id/ls"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="选择" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="王五" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="女" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="在岗" />
<Button
android:id="@+id/ww"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="选择" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="4" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="赵六" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="女" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未在岗" />
<Button
android:id="@+id/zl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="选择" />
</TableRow>
</TableLayout>
</LinearLayout>
当用张三的账户登录时页面:
ZhangSanActivity.java
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class ZhangSanActivity extends Activity {
private Button btn;
private TextView textView1;
private TextView textView2;
private TextView textView3;
private TextView textView4;
private Button cl1;
private Button cl2;
private Button cl3;
private Button cl4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zhangsan);
textView1 = findViewById(R.id.state1);
textView2 = findViewById(R.id.state2);
textView3 = findViewById(R.id.state3);
textView4 = findViewById(R.id.state4);
btn = findViewById(R.id.report);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(ZhangSanActivity.this,ReportActivity.class);
startActivity(intent);
}
});
cl1 = findViewById(R.id.cl1);
cl1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ZhangSanActivity.this,"处理成功!",Toast.LENGTH_SHORT).show();
textView1.setText("已处理");
}
});
cl2 = findViewById(R.id.cl2);
cl2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ZhangSanActivity.this,"处理成功!",Toast.LENGTH_SHORT).show();
textView2.setText("已处理");
}
});
cl3 = findViewById(R.id.cl3);
cl3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ZhangSanActivity.this,"处理成功!",Toast.LENGTH_SHORT).show();
textView3.setText("已处理");
}
});
cl4 = findViewById(R.id.cl4);
cl4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ZhangSanActivity.this,"处理成功!",Toast.LENGTH_SHORT).show();
textView4.setText("已处理");
}
});
}
}
zhangsan.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:showDividers="beginning|middle|end"
android:stretchColumns="*">
<TableRow
android:divider="@drawable/line_h"
android:orientation="horizontal"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="序号" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="事件名称" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="状态" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="处理人" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="操作" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:orientation="vertical"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="1"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
tools:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="车辆违停" />
<TextView
android:id="@+id/state1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未解决" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="张三" />
<Button
android:id="@+id/cl1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="处理" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="车辆违停" />
<TextView
android:id="@+id/state2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未解决" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="张三" />
<Button
android:id="@+id/cl2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="处理" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="车辆违停" />
<TextView
android:id="@+id/state3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未解决" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="张三" />
<Button
android:id="@+id/cl3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="处理" />
</TableRow>
<TableRow
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="4" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="车辆违停" />
<TextView
android:id="@+id/state4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="未解决" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="张三" />
<Button
android:id="@+id/cl4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="处理" />
</TableRow>
</TableLayout>
<Button
android:id="@+id/report"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:background="@color/button_danger"
android:text="录入事件"
android:textSize="20dp"
android:textColor="@color/colorPrimary"/>
</LinearLayout>
Car.java
package com.example.demo;
public class Car {
String listId;
String carId;
String address;
String state;
String operator;
public Car(String listId, String carId, String address, String state, String operator) {
this.listId = listId;
this.carId = carId;
this.address = address;
this.state = state;
this.operator = operator;
}
public String getListId() {
return listId;
}
public void setListId(String listId) {
this.listId = listId;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
}
ItemAdapter.java
package com.example.demo;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.List;
public class ItemAdapter extends ArrayAdapter<Car> implements OnClickListener {
private Callback mCallback;
private int resourceId;
private List<Car> carList;
public interface Callback{
public void click(View v);
}
public ItemAdapter(Context context, int textViewResourceId, List<Car> objects,Callback callback){
super(context,textViewResourceId,objects);
resourceId=textViewResourceId;
mCallback = callback;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Car car=getItem(position); //获取当前项的car实例
// 加个判断,以免ListView每次滚动时都要重新加载布局,以提高运行效率
View view;
ViewHolder viewHolder;
if (convertView==null){
// 避免ListView每次滚动时都要重新加载布局,以提高运行效率
view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
// 避免每次调用getView()时都要重新获取控件实例
viewHolder=new ViewHolder();
viewHolder.listId=view.findViewById(R.id.listId);
viewHolder.carId=view.findViewById(R.id.carId);
viewHolder.state=view.findViewById(R.id.state);
viewHolder.address=view.findViewById(R.id.address);
viewHolder.operator=view.findViewById(R.id.operator);
// 将ViewHolder存储在View中(即将控件的实例存储在其中)
view.setTag(viewHolder);
} else{
view=convertView;
viewHolder=(ViewHolder) view.getTag();
}
viewHolder.listId.setText(car.getListId());
viewHolder.carId.setText(car.getCarId());
viewHolder.address.setText(car.getAddress());
viewHolder.state.setText(car.getState());
viewHolder.operator.setText(car.getOperator());
viewHolder.operator.setOnClickListener(this);
viewHolder.operator.setTag(position+1);
return view;
}
@Override
public void onClick(View view) {
mCallback.click(view);
}
class ViewHolder{
TextView listId;
TextView carId;
TextView address;
TextView state;
Button operator;
}
}
line_h.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="1dp" android:height="1dp"/>
<!-- <solid android:color="@android:color/holo_blue_dark" />-->
</shape>
item.xml
<?xml version="1.0" encoding="utf-8"?>
<!--item -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- android:stretchColumns="*"
android:divider="@drawable/line_h"
android:showDividers="beginning|middle|end" -->
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
>
<!--序号 -->
<TextView
android:layout_width="50dp"
android:layout_height="match_parent"
android:gravity="center"
android:showDividers="beginning|middle|end"
android:id="@+id/listId"
android:layout_weight="1"
/>
<!-- 事件名称-->
<TextView
android:layout_width="60dp"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/event"
android:layout_weight="1"
/>
<!-- 事发物-->
<TextView
android:layout_width="50dp"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/who"
android:layout_weight="1"
/>
<ImageView
android:id="@+id/img"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="10dp"
android:layout_gravity="center"
android:layout_weight="1"
/>
<!-- 事发地点-->
<TextView
android:layout_width="50dp"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/where"
android:maxEms="9"
android:layout_weight="1"
/>
<TextView
android:layout_width="60dp"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/time"
android:autoSizeMinTextSize="@android:dimen/app_icon_size"
android:layout_weight="1"
/>
<!-- 操作-->
<Button
android:layout_width="40dp"
android:layout_height="30dp"
android:layout_margin="5dp"
android:layout_marginRight="10dp"
android:layout_gravity="center"
android:textColor="#696969"
android:background="@drawable/yuanjiao1"
android:id="@+id/operator"
android:layout_weight="1"
/>
</TableRow>
</TableLayout>
</LinearLayout>