setvisibility(view.oneible)在setvisibility之后无效(view.gone)

Jes*_*rix 10 android listview visibility view onitemclicklistener

我看到一些关于这个的帖子,我理解了这个问题.但怎么能绕过它呢?我有ListView可以扩展的项目但是一旦视图消失,它就不能再次可见,除非它有一个空闲空间.如何制作那个空间?

private void mySetOnItemListener() {
    l.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View view,
            int position, long arg3) {
        Log.d("onItemClick","called");
        LinearLayout ll = (LinearLayout)view.findViewById(R.id.llOpenedField);
        ll.setVisibility(View.VISIBLE);
    }
    });
}
Run Code Online (Sandbox Code Playgroud)

我的viewLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:descendantFocusability="blocksDescendants">

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        android:weightSum="5" >

        <TextView
            android:id="@+id/tv_name"
            android:layout_width="0px"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="4"
            android:padding="7dp"
            android:text="item"
            android:textColor="@android:color/background_dark"
            android:textSize="25dp" />
    </LinearLayout>

      <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/llOpenedField"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"

         >

        <ImageButton
            android:id="@+id/ibInformation"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:src="@drawable/info" />

    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

LinearLayout android:id="@+id/llOpenedField"是我试图gone在开始时做的.

我把gone属性放在getView()里面BaseAdapter .

Unk*_*own -1

尝试这个并根据您的需要进行修改,这不是我点击的列表项

进行线性布局android:visibility="gone";首先,做这个这个。

@Override
    public void onClick(View v)
    {
        LinearLayout ll = (LinearLayout)findViewById(R.id.vis);

        if(v == ex)
        {
            if(ll.getVisibility() == View.VISIBLE)
                ll.setVisibility(View.GONE);
            else
                ll.setVisibility(View.VISIBLE);
        }
Run Code Online (Sandbox Code Playgroud)

更新:- 这些是给你的行..这将进行适当的展开和折叠,并且不会有可用空间

if(ll.getVisibility() == View.VISIBLE)
                    ll.setVisibility(View.GONE);
                else
                    ll.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)