我已经创建了 android 应用程序,我想使用自定义适配器隐藏和显示 ListView 中的视图。
我的代码是:
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View vi = convertView;
if (convertView == null)
{
vi = inflater.inflate(R.layout.item_estimate, null);
btn_dots = (ImageButton) vi.findViewById(R.id.btn_dots_itemEstimate);
ll_2 = (LinearLayout) vi.findViewById(R.id.ll_2_itemEstimate);
}
btn_dots.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
if (ll_2.getVisibility() == View.GONE)
{
ll_2.setVisibility(View.VISIBLE);
}
else
{
ll_2.setVisibility(View.GONE);
}
}
});
return vi;
}
Run Code Online (Sandbox Code Playgroud)

单击“点”时,它不会隐藏布局。
谢谢。
我创建了一个自定义列表视图并创建了我自己的适配器类,我用下面的代码夸大了视图:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View streamrowView = layoutInflater.inflate(R.layout.streamrow, parent,false);
initUI(streamrowView);
tvUserMsg.setText(values[position].Message);
tvPostDate.setText(values[position].postDate);
return streamrowView;
}
private void initUI(View streamrowView) {
tvUserMsg = (TextView) streamrowView.findViewById(R.id.tvUserMsg);
tvPostDate = (TextView) streamrowView.findViewById(R.id.tvPostDate);
}
Run Code Online (Sandbox Code Playgroud)
列表视图工作正常,但设置onItemClick侦听器事件不起作用
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> data, View v, int pos,
long arg3) {
Toast.makeText(getApplicationContext, "list clicked" ,1).show();
System.out.println("*****List clicked!!!");
}
});
Run Code Online (Sandbox Code Playgroud)
对于自定义行的onItemClick侦听器是否有任何其他方法.