今日进度
将数据显示在listview上并且点击listview时实现数据跳转到其他界面
代码如下:
activity_main.xml
1 <ListView 2 android:id="@+id/account" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:padding="10dp" 6 android:divider="@null" 7 android:dividerHeight="6dp" 8 android:layout_below="@id/btn_add" 9 android:scrollbars="none" />
layout_account.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:layout_marginTop="10dp" 6 android:padding="10dp" 7 android:background="#999999"> 8 9 <RelativeLayout 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content"> 12 <TextView 13 android:id="@+id/account_name" 14 android:layout_width="wrap_content" 15 android:layout_height="wrap_content" 16 android:text="姓名" 17 android:textStyle="bold" 18 android:textSize="20sp"/> 19 <TextView 20 android:id="@+id/gang" 21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content" 23 android:text="-" 24 android:layout_toRightOf="@id/account_name" 25 android:textStyle="bold" 26 android:textSize="20sp"/> 27 <TextView 28 android:id="@+id/account_class" 29 android:layout_width="wrap_content" 30 android:layout_height="wrap_content" 31 android:layout_toRightOf="@id/gang" 32 android:text="班级" 33 android:textSize="20sp" 34 android:textStyle="bold" /> 35 </RelativeLayout> 36 <LinearLayout 37 android:layout_width="wrap_content" 38 android:layout_height="wrap_content" 39 android:layout_alignParentRight="true" 40 android:orientation="vertical"> 41 42 <TextView 43 android:id="@+id/account_id" 44 android:layout_width="wrap_content" 45 android:layout_height="wrap_content" 46 android:text="学号" 47 android:textStyle="bold"/> 48 <TextView 49 android:id="@+id/account_phone" 50 android:layout_width="wrap_content" 51 android:layout_height="wrap_content" 52 android:text="电话" 53 android:layout_marginTop="5dp"/> 54 </LinearLayout> 55 56 </RelativeLayout>
此界面效果图为:

Adapter.java
1 import android.content.Context;
2 import android.view.LayoutInflater;
3 import android.view.View;
4 import android.view.ViewGroup;
5 import android.widget.ArrayAdapter;
6 import android.widget.TextView;
7
8 import java.util.List;
9
10 public class Adapter extends ArrayAdapter {
11 private final int resourceId;
12
13 public Adapter(Context context, int textViewResourceId, List<User> objects){
14 super(context,textViewResourceId,objects);
15 resourceId=textViewResourceId;
16 }
17
18 @Override
19 public View getView(int position, View convertView, ViewGroup parent){
20 User user = (User) getItem(position); // 获取当前项的Account/实例
21 View view = LayoutInflater.from(getContext()).inflate(resourceId, null);//实例化一个对象
22 TextView nametv,classtv,idtv,phonetv;
23 nametv=view.findViewById(R.id.account_name);
24 classtv=view.findViewById(R.id.account_class);
25 idtv=view.findViewById(R.id.account_id);
26 phonetv=view.findViewById(R.id.account_phone);
27 nametv.setText(user.getUserName());
28 classtv.setText(user.getUserClass());
29 idtv.setText(user.getUserID());
30 phonetv.setText(user.getUserPhone());
31 return view;
32 }
33 }
MainActivity.java
1 public class MainActivity extends AppCompatActivity{
2 //ListView
3 private List<User> accountList=new ArrayList<User>();
4 private ListView listView;
5 @Override
6 protected void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 setContentView(R.layout.activity_main);
9 //ListView
10 initAccount();//初始化
11 Adapter adapter=new Adapter(MainActivity.this,R.layout.layout_account,accountList);
12 listView=findViewById(R.id.account);//绑定listview
13 listView.setAdapter(adapter);//设置adapter
14
15 //点击listView,跳转到统计信息界面
16 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
17 @Override
18 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
19 User user=accountList.get(position);
20 Toast.makeText(MainActivity.this,user.toString(),Toast.LENGTH_LONG).show();
21 Intent intent=null;
22 intent=new Intent(MainActivity.this,InformationActivity.class);
23 String user_name=user.getUserName();
24 String user_ID=user.getUserID();
25 String user_class=user.getUserClass();
26 String user_phone=user.getUserPhone();
27 Toast.makeText(MainActivity.this,user_name,Toast.LENGTH_LONG).show();
28 Toast.makeText(MainActivity.this,user_ID,Toast.LENGTH_LONG).show();
29 Toast.makeText(MainActivity.this,user_class,Toast.LENGTH_LONG).show();
30 Toast.makeText(MainActivity.this,user_phone,Toast.LENGTH_LONG).show();
31 intent.putExtra("User_Name",user_name);
32 intent.putExtra("User_ID",user_ID);
33 intent.putExtra("User_Class",user_class);
34 intent.putExtra("User_Phone",user_phone);
35 startActivity(intent);
36 }
37 });
38 }
39
40 private void initAccount(){
41 //从数据库里面把数据取出来
42 MyDatabaseHelper databaseHelper=new MyDatabaseHelper(this);
43 SQLiteDatabase db=databaseHelper.getWritableDatabase();
44 Cursor cursor=db.query("user",null,null,null,null,null,null);
45 while(cursor.moveToNext()){
46 String userName=cursor.getString(cursor.getColumnIndex("userName"));
47 String userId=cursor.getString(cursor.getColumnIndex("userID"));
48 String userPhone=cursor.getString(cursor.getColumnIndex("userPhone"));
49 String userClass=cursor.getString(cursor.getColumnIndex("userClass"));
50 User user=new User(userId,userClass,userPhone,userName);
51 accountList.add(user);
52 }
53 }
54 }
activity_information,xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".InformationActivity"> 8 9 <TextView 10 android:id="@+id/Info1" 11 android:textColor="#000000" 12 android:textSize="16sp" 13 android:layout_width="match_parent" 14 android:layout_height="50dp" 15 android:padding="5dp" 16 android:digits="1234567890." 17 android:layout_below="@id/back" 18 android:layout_marginTop="20dp" 19 android:background="#FDDEDE" 20 /> 21 22 <TextView 23 android:id="@+id/Info2" 24 android:textColor="#000000" 25 android:textSize="16sp" 26 android:layout_width="match_parent" 27 android:layout_height="50dp" 28 android:padding="5dp" 29 android:layout_below="@id/Info1" 30 android:layout_marginTop="20dp" 31 android:background="#FDDEDE" 32 /> 33 34 <TextView 35 android:id="@+id/Info3" 36 android:layout_width="match_parent" 37 android:layout_height="50dp" 38 android:layout_below="@id/Info2" 39 android:layout_marginTop="20dp" 40 android:background="#FDDEDE" 41 android:digits="1234567890" 42 android:padding="5dp" 43 android:textColor="#000000" 44 android:textSize="16sp" /> 45 46 <TextView 47 android:id="@+id/Info4" 48 android:textColor="#000000" 49 android:textSize="16sp" 50 android:layout_width="match_parent" 51 android:layout_height="50dp" 52 android:padding="5dp" 53 android:layout_below="@id/Info3" 54 android:layout_marginTop="20dp" 55 android:background="#FDDEDE" 56 android:clickable="true" 57 /> 58 59 60 </RelativeLayout>
InformationActivity.java
1 public class InformationActivity extends AppCompatActivity {
2
3 private TextView name;
4 private TextView ID;
5 private TextView Classs;
6 private TextView Phone;
7
8 @Override
9 protected void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(R.layout.activity_information);
12
13 name=findViewById(R.id.Info1);
14 ID=findViewById(R.id.Info2);
15 Classs=findViewById(R.id.Info3);
16 Phone=findViewById(R.id.Info4);
17
18 Intent intent = getIntent();
19 name.setText(intent.getStringExtra("User_Name"));
20 ID.setText(intent.getStringExtra("User_ID"));
21 Classs.setText(intent.getStringExtra("User_Class"));
22 Phone.setText(intent.getStringExtra("User_Phone"));
23
24 }
25 }
以上即为将数据显示在listView上并且点击listView时携带数据跳转到其他界面的代码

浙公网安备 33010602011771号