最近写一个项目的时候突然发生一个这样的现象...程序第一次打开的时候TabWidget 没有被选中,但是界面又是正确显示了的...百思不得其解啊....
如上图,listview单机效果正确/也能点击联系人或者讨论组TabWidget...点击任意一个都能使其高亮...然后进入其他页面,再返回,也会有一个TabWidget高亮.....求大神指引以下,是怎么回事.....谢谢!!!

解决方案 »

  1.   

    Tbhost void  setCurrentTab(int index) 试试首次调用这个
      

  2.   

    高亮 是你后来添加的代码动作 还是 selector 里面添加的?
      

  3.   

    那你也修改首次的 TabWidget 和你的高亮处理一样。要保持 和setCurrentTab 一致
      

  4.   

    你说的是不是这个:tabWidget.getChildAt(0).setFocusable(true);
    tabWidget.getChildAt(0).setFocusableInTouchMode(true);设置焦点之后,又会有另外一个问题,就是当我选择“群/讨论组”之后,去到另外一个界面,再回来,回来的界面是“联系人”的界面,但是,点击效果确实“群/讨论组”的很是纠结
      

  5.   

    今天又发现一个很奇怪的listview的item混乱现象不知道是我自己哪儿出了,问题,还是怎么回事,求围观。问题简介:在baseadapter的getview里面,要使用两个xml。。因为有两种不同类型的item。然后两种item会混乱,最后全部都变成了同一个item。
      

  6.   

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view=null,view_01=null;
    if(position%2==0){
    ViewHolder holder=null;
    if(convertView==null){
    holder=new ViewHolder();
    convertView=LayoutInflater.from(context).inflate(R.layout.item_01, null);
    holder.name=(TextView)convertView.findViewById(R.id.name);
    convertView.setTag(holder);
    }else{
    holder=(ViewHolder)convertView.getTag();
    }
    holder.name.setText(name[position]);
    return convertView;
    }else{
    ViewHolder holder_02=null;
    if(view==null){
    holder_02=new ViewHolder();
    view=LayoutInflater.from(context).inflate(R.layout.item_02, null);
    holder_02.name=(TextView)view.findViewById(R.id.name_02);
    view.setTag(holder_02);
    }else{
    holder_02=(ViewHolder)view.getTag();
    }
    holder_02.name.setText(name[position]);
    return view;
    }
    }
    public class ViewHolder{
    public TextView name;
    }
      

  7.   

    我坚决不是说的你那边的那个  我是说 你set  TabWidget 的background 来做成高亮的假象 
    我想知道你切换后的 tabWeight 的高亮代码 具体是怎么实现的
      

  8.   

    不要用position 记录  convertView 因为 你原先的基数position 以后后也可以编程 偶数
    public View getView(int position, View converView, ViewGroup parent) {
    Log.v("shenwenjian","getView:"+position);
    if(position%2==0){
    converView = LayoutInflater.from(mContext).inflate(R.layout.textviewlayout, null);
    }else{
    converView = LayoutInflater.from(mContext).inflate(R.layout.imageviewlayout, null);
    }

    return converView;
    }
      

  9.   

    前天已经把这个问题搞定了,是一个弱智性的错误,这里就不跟大家分享了,
    这里给大家说一个更完美的TabHost的替代品:fragments。
      

  10.   


    楼主可以写一个Fragments 的demo 给大家分享啊 一直想用来着,还没学习呢!