Android 使用getView在多个帧中获取行,其间有巨大的空白

Android 使用getView在多个帧中获取行,其间有巨大的空白,android,view,frame,Android,View,Frame,这是我的getview,我得到的结果是一行,然后整个屏幕是空的。t滚动两帧后,将显示另一帧。 @Override public View getView( int position, View convertView, ViewGroup parent) { View vi=convertView; if(convertView==null) vi = mInflater.inflate(R.layout.rows_screen, null)

这是我的getview,我得到的结果是一行,然后整个屏幕是空的。t滚动两帧后,将显示另一帧。


   @Override
   public View getView( int position, View convertView, ViewGroup parent) {
      View vi=convertView;
       if(convertView==null)
        vi = mInflater.inflate(R.layout.rows_screen, null); 
        TextView tv= (TextView) vi.findViewById(R.id.textView1);
        tv1= (TextView) vi.findViewById(R.id.textView2);
        tv.setText(name.get(position));
        tv1.setText(phno.get(position));
        return vi;
   }
这包含listview
这是我的活动课:

package com.example.ems;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入android.app.Activity;
导入android.net.Uri;
导入android.os.Bundle;
导入android.provider.contacts合同;
导入android.provider.contacts contract.CommonDataTypes.Phone;
导入android.provider.Contacts contract.Contacts;
导入android.util.Log;
导入android.util.SparseBooleanArray;
导入android.view.Display;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.BaseAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.content.Context;
导入android.content.Intent;
导入android.database.Cursor;
公共类MainActivity扩展了活动{
静态最终整型拾取触点请求=0;
DatabaseHandler db=新的DatabaseHandler(此);
Map Map=newhashmap();
粘液瘤;
列表名称=新的ArrayList();
List phno=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map=db.getAllDataWithName();
name=(List)map.get(“name”);
日志d(“测试”,“主要活动中的名称”+名称);
phno=(List)map.get(“number”);
日志d(“电话号码”、“电话号码”+phno);
/*
*我的适配器类被称为
*/
ma=新的MyAdapter(此);
ListView lv=(ListView)findViewById(R.id.listView1);
低压设置适配器(ma);
lv.SetScrolingCacheEnabled(假);
//lv.setOnItemClickListener(本);
lv.setItemsCanFocus(假);
lv.setTextFilterEnabled(真);
按钮btn_save=(按钮)findViewById(R.id.Button_save);
//按钮btn_显示=(按钮)findViewById(R.id.Button_显示);
//数据库处理程序
//db=新的DatabaseHandler(此);
//showAllData();
btn_save.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
startActivityForResult(新意向(意向.行动),
联系人。内容(URI),选择联系人(请求);
/*
*EditText et=(EditText)findViewById(R.id.editText1);
*如果(et.getText().toString()!=null){//插入联系人
*Log.d(“插入:,”插入..”);db.addMyData(新
*MyData(et.getText().toString());Log.d(“消息”,
*“数据添加成功”+et.getText().toString());
* 
*}else{Toast.makeText(getApplicationContext(),
*“无需保存”,Toast.LENGTH_SHORT.show();}
*showAllData();
*/
}
});
/*
*btn_show.setOnClickListener(新视图.OnClickListener(){
* 
*@Override public void onClick(视图arg0){//正在读取所有数据
*Log.d(“读取:,“读取所有数据…”);列出数据列表=
*db.getAllData();Log.d(“数据1为:”,dataList.get(0));
*if(dataList.size()>0&&dataList!=null){
* 
*//从xml获取ListView对象最终ListView=(ListView)
*findViewById(R.id.listView1);
* 
*//定义新适配器//第一个参数-上下文//第二个
*参数-行的布局//第三个参数-行的ID
*写入数据的TextView//Forth-数据数组
* 
*ArrayAdapter适配器=新
*ArrayAdapter(getApplicationContext(),
*android.R.layout.simple_list_item_1,android.R.id.text1,dataList);
* 
*//将适配器分配给ListView ListView.setAdapter(适配器);
* 
*//ListView项单击侦听器ListView.setOnItemClickListener(新建
*MoniteMcClickListener(){
* 
*@Override public void onItemClick(AdapterView父视图、视图、,
*内部位置,长id){
* 
*//ListView已单击项索引int itemPosition=position;
* 
*//ListView已单击项值字符串itemValue=(字符串)
*listView.getItemAtPosition(位置);
* 
*//显示警报Toast.makeText(getApplicationContext(),
*位置:“+itemPosition+”列表项:“+itemValue,
*吐司。长度(短)。show();
* 
* }
* 
* });
* 
*}else{Toast.makeText(getApplicationContext(),“无需显示”,
*Toast.LENGTH_SHORT).show();}
* 
* } });
*/
}
@凌驾
ActivityResult上的公共无效(int-reqCode、int-resultCode、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
开关(r
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="@drawable/black_background_metal">


     <LinearLayout
        android:id="@+id/listviewlayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/footerlayout"
        android:layout_marginBottom="5dip"
        android:layout_marginTop="50dip" >


        <ListView
            android:id="@+id/listView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:textColor = "#ffffff">
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/footerlayout"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="3dip"
        android:gravity="center"
        android:orientation="horizontal" >

     <!--    <Button
            android:id="@+id/button_show"
            android:layout_width="0dip"
            android:layout_height="40dip"
            android:layout_weight="1"
            android:text="Show" > 
        </Button>-->

        <Button
            android:id="@+id/button_save"
            android:layout_width="0dip"
            android:layout_height="40dip"
            android:layout_weight="1"
            android:text="Add New Contact" >
        </Button>
    </LinearLayout>

</RelativeLayout>

   This contains the listview