我使用许多通讯录,发现拨号键盘上方是通话记录或者是根据输入的部分号码匹配的通信对象,当隐藏数字按键时,可以显示更过行数的匹配结果,请问这是使用什么方法实现的?
   是重新调用布局文件?
是使用抽屉?我用抽屉时handle布多个控件时,不管按那个控件,抽屉都抽出来?不知哪朋友指点一下,如果提供代码更好,谢谢

解决方案 »

  1.   

    我使用了View.gone让控件消失的同时,也让出占有的位置,可基本达到效果。
      

  2.   

    如果你的布局文件是listview的adapter的载入布局,那你重写adapter类,用adapter里面的getview方法
    来获取布局文件中想要跟新的控件,然后取出来,跟新。
    或者你就布局好。设计好逻辑,更新载入的String。通知adapter.notifyDataSetChanged();就行了
      

  3.   

    class Personal_Info_Adapter extends SimpleAdapter
    {
    private List<? extends Map<String, ?>> _data;

    private Bitmap bitmap_online;
    public Button set_often_user_btn; //设置常用用户
    public Button cancle_often_user_btn;
    public boolean is_set_user_bool ;
    public boolean iscommand_btn;


    public Personal_Info_Adapter(Context context,
    List<? extends Map<String, ?>> data, int resource,
    String[] from, int[] to) {

    super(context, data, resource, from, to);
    _data=data;
    // TODO Auto-generated constructor stub
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    View row=super.getView(position, convertView, parent);
    ImageView img_online2=(ImageView)row.findViewById(R.id.img_online);
    bitmap_online=(Bitmap)_data.get(0).get("img_online");


    set_often_user_btn=(Button)row.findViewById(R.id.set_often_user);
    cancle_often_user_btn=(Button)row.findViewById(R.id.cancle_often_user);

    if (iscommand_btn==true) {
    set_often_user_btn.setVisibility(View.INVISIBLE);
    cancle_often_user_btn.setVisibility(View.VISIBLE);
    }else {
    cancle_often_user_btn.setVisibility(View.INVISIBLE);
    set_often_user_btn.setVisibility(View.VISIBLE);

    }


    set_often_user_btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    setOftenUser_method();
    }
    });

    cancle_often_user_btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    cancleOftenUser_method();

    }
    });
    if (bitmap_online==null) {

    img_online2.setBackgroundResource(userhead);

    }else {
    Drawable drawable_online=new BitmapDrawable(bitmap_online);
    img_online2.setBackgroundDrawable(drawable_online);
    }

    // if (is_set_user_bool==true) {
    // set_often_user_btn.setVisibility(View.INVISIBLE);
    // cancle_often_user_btn.setVisibility(View.VISIBLE);
    // }else{
    // cancle_often_user_btn.setVisibility(View.INVISIBLE);
    // set_often_user_btn.setVisibility(View.VISIBLE);
    // }
    //


    return row;



    }
      

  4.   

    Bitmap bitmap_online;
    PersonalInfoSave personalInfoSave_update=new PersonalInfoSave(this, userId, "", 0);
    bitmap_online=personalInfoSave_update.updateImg();
    Map<String, Object> map2221 = new HashMap<String, Object>();

    for (int i = 0; i < userInfos_basic.size(); i++) {
    map2221=userInfos_basic.get(i);
    if (map2221.get("img_online")==null) {
    map2221.put("img_online", bitmap_online);

    break;
    }

    }

    userAdapter_basic.notifyDataSetChanged();这个时候后台更新用户头像的代码
    是用线程获取后,再动态更新listview的
      

  5.   

    android:includeFontPadding   设置文本是否包含顶部和底部的额外空白、默认为true、
      

  6.   


    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/head" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:orientation="vertical">
    <include android:layout_width="fill_parent"
    android:layout_height="wrap_content" layout="@layout/head"
    android:id="@+id/lay_head" />
    <ListView android:id="@+id/listview" android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
    </LinearLayout>
    <Button android:id="@+id/ok" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="ok"
    android:onClick="onClick" />
    </FrameLayout>
    我是用动画直接推上去,然后清除动画,但是最终结果就是LISTVIEW的高度在动画完成之后突然一下填充了正下方的空白。这点也在想办法怎么解决。