求助大神,Android studio 隐藏listview里某一个item里的某一个控件应该怎么做?用view.Gone。 5
for(kk=1;kk<getCount();kk++){jj=Integer.valueOf(formatter.format(Date.parse(records.g...
for(kk=1;kk<getCount();kk++){jj=Integer.valueOf(formatter.format(Date.parse(records.get(kk).getDay())));if(jj==titleday){rl_day.setVisibility(View.GONE);}else {titleday=jj;}}我这么写会让所有的item里的rl_day都消失,可是我只需要特定的item,在我看来可能需要rl_day.setVisibility(View.GONE);给这一句加一个定位,可是我真的不知道该怎么做,大神帮帮忙~~~~我全财产就是5财富值了~~帮帮忙~~
展开
1个回答
展开全部
点击右侧的按钮,显示或者隐藏底部的操作布局,实现Item的部分布局的动态显示.
##涉及到的知识点 ## 1.inflate方法的不同参数的含义,以及作用. 2.View的绘制过程,主要包含onMeasure,onLayout,onDraw这三个方法. 3.自定义View. 4.如何控制Item的部分布局的显示,隐藏.
如何控制Item的部分布局的显示,隐藏
实现思路通过标记一个全局变量来记录当前是那个Item正在被操作(右侧按钮被点击),初始化的position是-1,表示所有的底部操作布局都是隐藏的.
/***
* 标记操作下表的位置:从0开始
*/
public int mShowBottomPosition = - 1 ;
同时需要一个状态来标记当前被操作的Item的状态(隐藏或者显示).
/**
* 表示当前position的状态
*/
public int mCurrentPositionStatus = HIDE_BOTTOM ;
public static final int SHOW_BOTTOM = 1 ;
public static final int HIDE_BOTTOM = 0 ;
为Item的右侧按钮添加点击事件,改变mShowBottomPosition的数值为当前点击的position.同时修改mCurrentPositionStatus的状态,如果被点击的Item的底部布局之前处于隐藏状态,则mCurrentPositionStatus = SHOW_BOTTOM,否则mCurrentPositionStatus = HIDE_BOTTOM.然后执行notifyDataSetChanged方法,重新绘制布局. 为右侧的按钮添加点击事件.代码如下:
holder . mGoImage . setOnClickListener ( new OnClickListener ( )
{
@Override
public void onClick ( View v )
{
showOrHideBottom ( holder , position ) ;
}
} ) ;
/**
* 显示或者隐藏底部控制器
*
* @param position 位置
*/
private void showOrHideBottom ( ViewHolder holder , int position )
{
LogUtils . i ( TAG , "mShowBottomPosition111 :" + mShowBottomPosition + " position :" + position ) ;
if ( mShowBottomPosition != position )
{
mShowBottomPosition = position ;
mCurrentPositionStatus = SHOW_BOTTOM ;
} else
{
mShowBottomPosition = position ;
if ( mCurrentPositionStatus = = HIDE_BOTTOM )
{
mCurrentPositionStatus = SHOW_BOTTOM ;
} else
{
mCurrentPositionStatus = HIDE_BOTTOM ;
}
}
mAdapter . notifyDataSetChanged ( ) ;
}
##涉及到的知识点 ## 1.inflate方法的不同参数的含义,以及作用. 2.View的绘制过程,主要包含onMeasure,onLayout,onDraw这三个方法. 3.自定义View. 4.如何控制Item的部分布局的显示,隐藏.
如何控制Item的部分布局的显示,隐藏
实现思路通过标记一个全局变量来记录当前是那个Item正在被操作(右侧按钮被点击),初始化的position是-1,表示所有的底部操作布局都是隐藏的.
/***
* 标记操作下表的位置:从0开始
*/
public int mShowBottomPosition = - 1 ;
同时需要一个状态来标记当前被操作的Item的状态(隐藏或者显示).
/**
* 表示当前position的状态
*/
public int mCurrentPositionStatus = HIDE_BOTTOM ;
public static final int SHOW_BOTTOM = 1 ;
public static final int HIDE_BOTTOM = 0 ;
为Item的右侧按钮添加点击事件,改变mShowBottomPosition的数值为当前点击的position.同时修改mCurrentPositionStatus的状态,如果被点击的Item的底部布局之前处于隐藏状态,则mCurrentPositionStatus = SHOW_BOTTOM,否则mCurrentPositionStatus = HIDE_BOTTOM.然后执行notifyDataSetChanged方法,重新绘制布局. 为右侧的按钮添加点击事件.代码如下:
holder . mGoImage . setOnClickListener ( new OnClickListener ( )
{
@Override
public void onClick ( View v )
{
showOrHideBottom ( holder , position ) ;
}
} ) ;
/**
* 显示或者隐藏底部控制器
*
* @param position 位置
*/
private void showOrHideBottom ( ViewHolder holder , int position )
{
LogUtils . i ( TAG , "mShowBottomPosition111 :" + mShowBottomPosition + " position :" + position ) ;
if ( mShowBottomPosition != position )
{
mShowBottomPosition = position ;
mCurrentPositionStatus = SHOW_BOTTOM ;
} else
{
mShowBottomPosition = position ;
if ( mCurrentPositionStatus = = HIDE_BOTTOM )
{
mCurrentPositionStatus = SHOW_BOTTOM ;
} else
{
mCurrentPositionStatus = HIDE_BOTTOM ;
}
}
mAdapter . notifyDataSetChanged ( ) ;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询