android listview-和listview同一layout的按钮被复制

问题描述

和listview同一layout的按钮被复制

这是显示的代码
public void Infoshow()
{
setContentView(R.layout.companyinfo);

    //Button m_back =(Button)findViewById(R.id.button1);

  // GridView gv=(GridView)findViewById(R.id.se1);
    ListView gv=(ListView)findViewById(R.id.listView1);

    //List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

   // list=new DB().CompanyInfo(myOrderCode);
    //list=new DB().CompanyInfo(searchwhere);

    SimpleAdapter adapter = new SimpleAdapter(
         MainActivity.this,
            //this,
            list,
            R.layout.companyinfo,
            new String[] { "OrderCode", "ProductName_CN", "ProductName_JP" ,"OrderNum"},
            new int[] { R.id.txt_OrderCode, R.id.txt_ProductName_CN, R.id.txt_ProductName_JP , R.id.txt_OrderNum});

    gv.setAdapter(adapter);

这是页面布局
<?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"
android:background="#ffffcc"

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="40dip"
<TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0dip"
    android:layout_marginLeft="0dip"
    android:layout_marginTop="0dip"
    android:gravity="center"
    android:text="详细信息"
    android:textSize="20dip"
    android:textStyle="bold" >

</TextView>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|right"
>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="返回" />

</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginLeft="7dip"
android:layout_marginRight="7dip"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"

>      

           <TextView
            android:id="@+id/txt_OrderCode"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:height="40dp"
            android:text="合同"
            android:textSize="14sp" />

        <TextView
            android:id="@+id/txt_ProductName_CN"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:height="40dp"
            android:text="名称"
            android:textSize="14sp" />

        <TextView
            android:id="@+id/txt_ProductName_JP"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:height="40dp"
            android:text="公司"
            android:textSize="14sp" />

        <TextView
            android:id="@+id/txt_OrderNum"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:height="40dp"
            android:text="数量"
            android:textSize="14sp" />
</LinearLayout>

android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

解决方案

这是效果图

解决方案二:

你这分activity的layout和listview的item了吗?怎么看着像是没有区分layout和item这两种布局方式

 setContentView(R.layout.companyinfo);//这里是companyinfo布局
 SimpleAdapter adapter = new SimpleAdapter(
         MainActivity.this,
            //this,
            list,
            R.layout.companyinfo, //item也是companyinfo布局

解决方案三:

应该如何去修改

这是主函数:

```package com.example.login_0508;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;

//import com.bn.lb.client.RootActivity;
//import com.bn.lb.client.WhichView;
//import com.bottle.stockmanage.MainActivity;
//import com.bottle.stockmanage.R;

//import com.bottle.stockmanage.MainActivity;
//import com.bottle.stockmanage.R;

import android.R.string;
import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
//private List<? extends Map> VeCompanyInfo=new Vector(); //记录公司信息
public ListView listView;
private SimpleAdapter adapter;
private String myOrderCode;
private ArrayList searchwhere=new ArrayList();
private List> list = new ArrayList>();
//WhichView curr;

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {

    StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    //验证账号密码
    final EditText ID =(EditText)findViewById(R.id.editText1 );
    final EditText PW =(EditText)findViewById(R.id .editText2 );
    Button m_Ok=(Button)findViewById(R.id.button1 );
    Button m_Cancel=(Button)findViewById(R.id .button2 );
    //确定按钮监听
    m_Ok.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String m_ID=ID.getText().toString().trim();
            String m_PW=PW.getText().toString().trim();
            String sql_PW=new DB().PassWord(m_ID);

            if (sql_PW!=null)
            {
            if (m_PW.equals(sql_PW))
            {

// Toast.makeText
// (
// MainActivity.this,
// "登陆成功",
// Toast.LENGTH_SHORT
// ).show();
//跳转查询画面
Searchwhere();
//setContentView(R.layout.searchwhere);
}
else
{
Toast.makeText(
MainActivity.this,
"用户名或密码不正确",
Toast.LENGTH_SHORT
).show();

            }

        }
            else
            {
                Toast.makeText(
                        MainActivity.this,
                        "登录失败",
                        Toast.LENGTH_SHORT
                        ).show();
            }
        }

    });
    m_Cancel.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //结束程序
             System.exit(0);
        }

    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
//查询画面
public void Searchwhere(){
    setContentView(R.layout.searchwhere);
    Button btn_Ok =(Button)findViewById(R.id.button1);
    final EditText OrderCode=(EditText)findViewById(R.id.editText1);
    final EditText CompName=(EditText)findViewById(R.id.editText2);

    btn_Ok.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //String m_OrderCode=OrderCode.getText().toString().trim();
            //myOrderCode=m_OrderCode;
            searchwhere.clear();
            searchwhere.add(OrderCode.getText().toString().trim());
            searchwhere.add(CompName.getText().toString().trim());
            list=new DB().CompanyInfo(searchwhere);
            if (list.size()!=0)
            {
                Infoshow();
            }
            else
            {
                Toast.makeText(
                        MainActivity.this,
                        "没有符合条件的数据",
                        Toast.LENGTH_SHORT
                        ).show();
            }
        }

    });
}
//信息显示
public void Infoshow()
{
    setContentView(R.layout.companyinfo);

    //Button m_back =(Button)findViewById(R.id.button1);

  // GridView gv=(GridView)findViewById(R.id.se1);
    ListView gv=(ListView)findViewById(R.id.listView1);

    //List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

   // list=new DB().CompanyInfo(myOrderCode);
    //list=new DB().CompanyInfo(searchwhere);

    SimpleAdapter adapter = new SimpleAdapter(
         MainActivity.this,
            //this,
            list,
            R.layout.companyinfo,

            new String[] { "OrderCode", "ProductName_CN", "ProductName_JP" ,"OrderNum"},
            new int[] { R.id.txt_OrderCode, R.id.txt_ProductName_CN, R.id.txt_ProductName_JP , R.id.txt_OrderNum});

    gv.setAdapter(adapter);

    //返回键监控

//

// m_back.setOnClickListener(new OnClickListener(){
//
// @Override
// public void onClick(View v) {
// // TODO Auto-generated method stub
// Searchwhere();
// }
//

// });
//

}

}

这是取数据代码

package com.example.login_0508;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import com.example.login_0508.R.string;

public class DB {

ArrayList arraylist=new ArrayList();
ArrayList brraylist=new ArrayList();
ArrayList crraylist=new ArrayList();
HttpCon con=new HttpCon();

//取得密码
public String PassWord(String ID)
{
String result=null;
arraylist.clear();
brraylist.clear();
arraylist.add("ID");
brraylist.add(ID);
crraylist=con.GetWebServre("PassWord", arraylist, brraylist);
if(crraylist.size()!=0)
{
result=crraylist.get(0);
}
return result;

}
//取得公司信息
// public List> CompanyInfo(String OrderCode) {
// {
// //Vector result=new Vector();
// List> list = new ArrayList>();
// arraylist.clear();
// brraylist.clear();
// arraylist.add("OrderCode");
// brraylist.add(OrderCode);
// crraylist=con.GetWebServre("CompanyInfo", arraylist, brraylist);
//

// for (int j = 0; j < crraylist.size(); j += 4) {
// HashMap hashMap = new HashMap();
// hashMap.put("OrderCode", crraylist.get(j));
// hashMap.put("CompanyName", crraylist.get(j + 1));
// hashMap.put("CompanyTel", crraylist.get(j + 2));
// hashMap.put("Addr", crraylist.get(j + 3));
// list.add(hashMap);
// }
//
// return list;
//

// }
public List> CompanyInfo(ArrayList searchwhere) {
{
//Vector result=new Vector();
List> list = new ArrayList>();
arraylist.clear();
brraylist.clear();
arraylist.add("OrderCode");
brraylist.add((String) searchwhere.get(0));
arraylist.add("CompanyName");
brraylist.add((String) searchwhere.get(1));
crraylist=con.GetWebServre("CompanyInfo", arraylist, brraylist);
if(crraylist!=null)
{
for (int j = 0; j < crraylist.size(); j += 4) {
HashMap hashMap = new HashMap();
hashMap.put("OrderCode", crraylist.get(j));
hashMap.put("ProductName_JP", crraylist.get(j + 1));
hashMap.put("ProductName_CN", crraylist.get(j + 2));
hashMap.put("OrderNum", crraylist.get(j + 3));
list.add(hashMap);
}
}

        return list;

   }

}
}

这是查询画面代码

<?xml version="1.0" encoding="utf-8"?>
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="145dp"
    android:text="合同号" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="68dp"
    android:text="客户名称" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_alignLeft="@+id/editText1"
    android:ems="10" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView1"
    android:layout_alignBottom="@+id/textView1"
    android:layout_alignParentRight="true"
    android:layout_marginRight="22dp"
    android:ems="10" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="22dp"
    android:text="查询" />
这是信息显示代码

<?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"
android:background="#ffffcc"

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="40dip"
<TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0dip"
    android:layout_marginLeft="0dip"
    android:layout_marginTop="0dip"
    android:gravity="center"
    android:text="详细信息"
    android:textSize="20dip"
    android:textStyle="bold" >

</TextView>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|right"
>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="返回" />

</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginLeft="7dip"
android:layout_marginRight="7dip"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"

>

   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content" >

       <TextView
           android:id="@+id/txt_OrderCode"
           android:layout_width="80dp"
           android:layout_height="wrap_content"
           android:gravity="center"
           android:height="40dp"
           android:text="合同"
           android:textSize="14sp" />

       <TextView
           android:id="@+id/txt_ProductName_CN"
           android:layout_width="80dp"
           android:layout_height="wrap_content"
           android:gravity="center"
           android:height="40dp"
           android:text="名称"
           android:textSize="14sp" />

       <TextView
           android:id="@+id/txt_ProductName_JP"
           android:layout_width="80dp"
           android:layout_height="wrap_content"
           android:gravity="center"
           android:height="40dp"
           android:text="公司"
           android:textSize="14sp" />

       <TextView
           android:id="@+id/txt_OrderNum"
           android:layout_width="80dp"
           android:layout_height="wrap_content"
           android:gravity="center"
           android:height="40dp"
           android:text="数量"
           android:textSize="14sp" />

   </LinearLayout>
</LinearLayout>

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

   <ListView
       android:id="@+id/listView1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" >
   </ListView>


时间: 2024-08-25 19:42:22

android listview-和listview同一layout的按钮被复制的相关文章

android开发-关于listview中阻止按钮selector获取焦点的问题

问题描述 关于listview中阻止按钮selector获取焦点的问题 请教一个android问题 在listview中有按钮,所以我自定义了adapter 我想要的效果是点击item,改变item的背景图片 现在问题是当点击item事件的时候,按钮的selector会获取焦点,事件不触发(这个是正常的) 我尝试设置了listview的android:descendantFocusability="blocksDescendants" 以及 按钮控件的android:focusable

Android SimpleAdapter显示ListView、GridView

SimpleAdapter作为一个数据集,主要向ListView.GridView容器填充数据,总结了几种填充方式,原理很简单,直接看代码 和效果图 1. ListView单行显示(simple_list_item_1) 代码: public class myListItem1 extends Activity{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState

Android开发之ListView、GridView 详解及示例代码_Android

    ListView与GridView是Android开发中的常用控件,它们和Adapter配合使用能够实现很多界面效果.下面分别以实例说明ListView.GridView的用法.        1.ListView的Android开发实例        ListView 是android开发中最常用的控件之一,一般构成列表包括三个元素,ListView:用来展示列表的视图.Adapter:数据与视图连接的桥梁.Data:具体的数据包括字符串 .图片或者控件.        适配器一般有以

Android checkbox的listView具体操作方法_Android

本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作.通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了哪些项.1.程序结构图如下: 其中Person.java是实体类,MainActivity.java是Activity组件类.listitem.xml是自定义的列表每项布局文件.2.listitem.xml布局文件源码如下: <?xml version

Android研究院之ListView原理学习与优化总结

转载自雨松MOMO程序研究院本文链接地址:Android研究院之ListView原理学习与优化总结(二十一) 列表的显示需要三个元素: ListVeiw: 用来展示列表的View. 适配器 : 用来把数据映射到ListView上 数据: 具体的将被映射的字符串,图片,或者基本组件. 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,这三种适配器的使用大家可学习下官网上面的使用或者自行百度谷歌,一堆DEMO!!!其中以

Android开发之ListView实现Item局部刷新_Android

对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView.在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容.这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制.这种模式下,View的显示内容或状态都记录在adapter里面

Android编程实现ListView头部ViewPager广告轮询图效果_Android

本文实例讲述了Android编程实现ListView头部ViewPager广告轮询图效果.分享给大家供大家参考,具体如下: 之前看了别人的一些软件,发现其广告图轮询的时候,那个广告感觉和ViewPager的效果不太一样,后来也查了一下,是因为时间问题,找了一些资料,自己也实践一下. 1.为了解决ListView头部加ViewPager滑动冲突问题,必须自定义ListView,重写里面的onInterceptTouchEvent方法,ListView代码如下: package com.exampl

Android dataBinding与ListView及事件详解_Android

今天来了解一下Android最新给我们带来的数据绑定框架--Data Binding Library.数据绑定框架给我们带来了更大的方便性,以前我们可能需要在Activity里写很多的findViewById,烦人的代码也增加了我们代码的耦合性,现在我们马上就可以抛弃那么多的findViewById.说到这里,有人可能会有个疑问:我使用一些注解框架也可以不用findViewById啊,是的,但是注解注定要拖慢我们代码的速度,Data Binding则不会,官网文档说还会提高解析XML的速度,最主

Android开发中ListView自定义adapter的封装_Android

[引入]  我们一般编写listView的时候顺序是这样的:  •需要展示的数据集List<T>  •为这个数据集编写一个ListView  •为这个ListView编写一个Adapter,一般继承自BaseAdapter  •在BaseAdapter内部编写一个ViewHolder类,对应ListView里面的item控件,提高控件的查询效率  分析: List<T>:ListView --> Adapter extends BaseAdapter --> ViewH