最近写一个项目的时候突然发生一个这样的现象...程序第一次打开的时候TabWidget 没有被选中,但是界面又是正确显示了的...百思不得其解啊....
如上图,listview单机效果正确/也能点击联系人或者讨论组TabWidget...点击任意一个都能使其高亮...然后进入其他页面,再返回,也会有一个TabWidget高亮.....求大神指引以下,是怎么回事.....谢谢!!!
如上图,listview单机效果正确/也能点击联系人或者讨论组TabWidget...点击任意一个都能使其高亮...然后进入其他页面,再返回,也会有一个TabWidget高亮.....求大神指引以下,是怎么回事.....谢谢!!!
tabWidget.getChildAt(0).setFocusableInTouchMode(true);设置焦点之后,又会有另外一个问题,就是当我选择“群/讨论组”之后,去到另外一个界面,再回来,回来的界面是“联系人”的界面,但是,点击效果确实“群/讨论组”的很是纠结
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;
}
我想知道你切换后的 tabWeight 的高亮代码 具体是怎么实现的
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;
}
这里给大家说一个更完美的TabHost的替代品:fragments。
楼主可以写一个Fragments 的demo 给大家分享啊 一直想用来着,还没学习呢!