weixin_46095148 2024-05-05 10:29 采纳率: 91.1%
浏览 2
已结题

有谁能解决这个问题?

怎样点击listview的一个item的添加按钮,就获取传入SouSuoJieGuoMyAdaper的各个集合中以点击的按钮所在的item的position为索引的各个值?

img


package com.yiban1314.love;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class sousuojieguo extends AppCompatActivity {
   private Student student;
   private String zhaungye;
   private String nianji;
   private String xingming;
   private int nianlingda;
   private int nianlingxiao;
   private int shengaoda;
   private int shengaoxiao;
   private int tizhongda;
   private int tizhongxiao;
private Connection connection;
private PreparedStatement preparedStatement;
private ResultSet resultSet;
private List<String> xingmingList = new ArrayList<>();
    private List<String> zhuanyeList = new ArrayList<>();
    private List<String> nianjiList = new ArrayList<>();
    private List<String> nianlingList = new ArrayList<>();
    private List<String> shengaoList = new ArrayList<>();
    private List<String> tizhongList = new ArrayList<>();
    private List<String> tongxueipList=new ArrayList<>();
    private ListView listView;

    private int row;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sousuojieguo);
        Intent intent = getIntent();
         student = (Student) intent.getSerializableExtra("student");

        zhaungye=student.getZhaungye();
        nianji=student.getNianji();
        nianlingda= Integer.parseInt(student.getNianlingda());
        nianlingxiao= Integer.parseInt(student.getNianlingxiao());
        shengaoda= Integer.parseInt(student.getShengaoda());
        shengaoxiao= Integer.parseInt(student.getShengaoxiao());
        tizhongda= Integer.parseInt(student.getTizhongda());
       tizhongxiao= Integer.parseInt(student.getTizhongxiao());
        final String CLS="com.mysql.jdbc.Driver";
        final String URL="jdbc:mysql://8.134.209.173:3306/jhc?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
        final String USER="jhc";
        final String PWD="6617828";
        new Thread(() -> {
            try {
                Class.forName(CLS);
                connection = DriverManager.getConnection(URL, USER, PWD);
                String str="select * from t_zhuyonghu where zhuanye = ? and  nianji = ? and nianling>=? and nianling<=? and shenggao>=? and shenggao<=? and tizhong>=? and tizhong<=? ";
                preparedStatement = connection.prepareStatement(str);
                preparedStatement.setString(1,zhaungye);
                preparedStatement.setString(2,nianji);
                preparedStatement.setInt(3,nianlingda);
                preparedStatement.setInt(4,nianlingxiao);
                preparedStatement.setInt(5,shengaoda);
                preparedStatement.setInt(6,shengaoxiao);
                preparedStatement.setInt(7,tizhongda);
                preparedStatement.setInt(8,tizhongxiao);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    String xingming1 = resultSet.getString("xingming");
                    String zhuanye = resultSet.getString("zhuanye");
                    String nianji1 = resultSet.getString("nianji");
                    String nianling = resultSet.getInt("nianling") + "岁";
                    String shenggao = resultSet.getInt("shenggao") + "cm";
                    String tizhong = resultSet.getInt("tizhong") + "kg";
                    String tongxueip = resultSet.getString("tongxueid");
                    xingmingList.add(xingming1);
                    zhuanyeList.add(zhuanye);
                    nianjiList.add(nianji1);
                    nianlingList.add(nianling);
                    shengaoList.add(shenggao);
                    tizhongList.add(tizhong);
                    tongxueipList.add(tongxueip);


                }

            sousuojieguo.this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    listView = findViewById(R.id.lv_sousuojieguo);
                    SouSuoJieGuoMyAdaper adaper = new SouSuoJieGuoMyAdaper(xingmingList,zhuanyeList,nianjiList,nianlingList,shengaoList,tizhongList,sousuojieguo.this);
                    listView.setAdapter(adaper);
                    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            Object item = adaper.getItem(position);
                            
                        }
                    });
                    adaper.notifyDataSetChanged();
                }
            });
            } catch (ClassNotFoundException e) {
                throw new RuntimeException(e);
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }finally {

                try {
                    if(resultSet!=null){
                        resultSet.close();}
                    if(preparedStatement!=null){
                        preparedStatement.close();}
                    if(connection!=null){
                        connection.close();}
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }

            }
        }).start();


    }
}








package com.yiban1314.love;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class SouSuoJieGuoMyAdaper extends BaseAdapter {
    private List<String> xingmingList;
    private List<String> zhuanyeList;
    private List<String> nianjiList;
    private List<String> nianlingList;
    private List<String> shengaoList;
    private List<String> tizhongList;
    private Context context;

    public SouSuoJieGuoMyAdaper(List<String> xingmingList, List<String> zhuanyeList, List<String> nianjiList, List<String> nianlingList, List<String> shengaoList, List<String> tizhongList, Context context) {
        this.xingmingList = xingmingList;
        this.zhuanyeList = zhuanyeList;
        this.nianjiList = nianjiList;
        this.nianlingList = nianlingList;
        this.shengaoList = shengaoList;
        this.tizhongList = tizhongList;
        this.context = context;
    }

    @Override
    public int getCount() {
        return xingmingList.size();
    }

    @Override
    public Object getItem(int position) {
        return xingmingList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if(convertView==null){
            viewHolder = new ViewHolder();
            convertView=LayoutInflater.from(context).inflate(R.layout.sousuojieguoitem,parent,false);
            viewHolder.xingming=convertView.findViewById(R.id.tv_sousuo_xingming);
            viewHolder.zhuanye=convertView.findViewById(R.id.tv_sousuo_zhuanye);
            viewHolder.nianji=convertView.findViewById(R.id.tv_sousuo_nianji);
            viewHolder.nianling=convertView.findViewById(R.id.tv_sousuo_nianling);
            viewHolder.shengao=convertView.findViewById(R.id.tv_sousuo_shengao);
            viewHolder.tizhong=convertView.findViewById(R.id.tv_sousuo_tizhong);
            viewHolder.b_tianjia = convertView.findViewById(R.id.b_tianjia);
            viewHolder.b_tianjia.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String item = (String) getItem(position);

                }
            });
            convertView.setTag(viewHolder);
        }
        else {
          viewHolder = (ViewHolder) convertView.getTag();
        }
        viewHolder.xingming.setText(xingmingList.get(position));
        viewHolder.zhuanye.setText(zhuanyeList.get(position));
        viewHolder.nianji.setText(nianjiList.get(position));
        viewHolder.nianling.setText(nianlingList.get(position));
        viewHolder.shengao.setText(shengaoList.get(position));
        viewHolder.tizhong.setText(tizhongList.get(position));
        return convertView;
    }
    class ViewHolder{
        TextView xingming;
        TextView zhuanye;
        TextView nianji;
        TextView nianling;
        TextView shengao;
        TextView tizhong;
        Button b_tianjia;
    }
}
  • 写回答

7条回答 默认 最新

  • DTcode7 优质创作者: 前端开发技术领域 2024-05-19 03:56
    关注

    答案引用自chatgpt生成,望对题主有所帮助/启发;若有帮助,还望采纳!

    有谁能解决这个问题?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 5月5日