ListView显示列表,双击ListView里任意一行信息,出现一个可以修改的窗口

1、建立窗体Form1,并放一ListView控件

 

2、 /// <summary>
        /// 执行SQL查询,显示到ListView中
        /// </summary>
        private void AddData()
        {
            //由于这里只做演示,数据就手动添加了
            ListViewItem newItem1 = new ListViewItem(new string[] { "刘德华", "男", "未知", "汉族", "艺人" });
            this.listView1.Items.Add(newItem1);
            ListViewItem newItem2 = new ListViewItem(new string[] { "乖老鼠", "男", "100", "汉族", "程序员" });
            this.listView1.Items.Add(newItem2);
            ListViewItem newItem3 = new ListViewItem(new string[] { "高圆圆", "女", "未知", "不详", "乖老鼠的老婆" });
            this.listView1.Items.Add(newItem3);
        }
3、 listView1_ItemActivate事件

      private void listView1_ItemActivate(object sender, EventArgs e)
        {
            if (listView1.SelectedItems[0].Index != -1)
            {
                ListViewItem oldItem = listView1.SelectedItems[0];
                Form2 ff = new Form2(oldItem); //将这一行ListViewItem作为参数传给另外一个窗体
                if (ff.ShowDialog() == DialogResult.OK)//如果被修改,刷新listView1
                {
                    listView1.Refresh();
                }
            }

        }

4、在Form1的load事件增加

    AddData();

 

 

5、增加一窗体Form2

6、 定义变量 ListViewItem oldItem;

7、重写构造函数

  public Form2(ListViewItem listItem)
        {
            InitializeComponent();
            oldItem = listItem;
            this.textBox1.Text = oldItem.SubItems[0].Text;
            this.textBox2.Text = oldItem.SubItems[1].Text;
            this.textBox3.Text = oldItem.SubItems[2].Text;
            this.textBox4.Text = oldItem.SubItems[3].Text;
            this.textBox5.Text = oldItem.SubItems[4].Text;
        }

8、增加一button

       private void button1_Click(object sender, EventArgs e)
        {
            oldItem.SubItems[0].Text = this.textBox1.Text.Trim();
            oldItem.SubItems[1].Text = this.textBox2.Text.Trim();
            oldItem.SubItems[2].Text = this.textBox3.Text.Trim();
            oldItem.SubItems[3].Text = this.textBox4.Text.Trim();
            oldItem.SubItems[4].Text = this.textBox5.Text.Trim();
            this.DialogResult = DialogResult.OK;

        }

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Android ListView一行显示多个元素,可以使用自定义布局。以下是如何实现它的步骤: 1. 创建一个自定义布局文件,例如row_layout.xml。在此文件中,可以添加多个元素,例如ImageView、TextView等。 2. 在适配器中重写getView()方法。在此方法中,可以将自定义布局文件中的元素与数据绑定,并将其添加到ListView的每一行中。 3. 在Activity中,将适配器绑定到ListView上。 以下是一个示例代码: row_layout.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="wrap_content"> <ImageView android:id="@+id/imageView" android:layout_width="50dp" android:layout_height="50dp" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" /> </LinearLayout> ``` CustomAdapter.java: ``` public class CustomAdapter extends ArrayAdapter<String> { public CustomAdapter(Context context, ArrayList<String> data) { super(context, 0, data); } @Override public View getView(int position, View convertView, ViewGroup parent) { View itemView = convertView; if (itemView == null) { LayoutInflater inflater = LayoutInflater.from(getContext()); itemView = inflater.inflate(R.layout.row_layout, parent, false); } ImageView imageView = itemView.findViewById(R.id.imageView); TextView textView = itemView.findViewById(R.id.textView); // 绑定数据 String item = getItem(position); imageView.setImageResource(R.drawable.icon); textView.setText(item); return itemView; } } ``` MainActivity.java: ``` public class MainActivity extends AppCompatActivity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.listView); ArrayList<String> data = new ArrayList<>(); data.add("Item 1"); data.add("Item 2"); data.add("Item 3"); CustomAdapter adapter = new CustomAdapter(this, data); listView.setAdapter(adapter); } } ``` 在此示例中,我们创建了一个自定义布局文件row_layout.xml,其中包含一个ImageView和一个TextView。然后,我们在CustomAdapter中重写了getView()方法,将数据绑定到自定义布局文件中的元素上,并将每个元素添加到ListView的每一行中。最后,在MainActivity中,我们将适配器绑定到ListView上,以显示多个元素的每一行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值