如何删除setAdapterList视图

时间:2013-01-23 10:50:08

标签: android android-adapterview

我正在尝试实施列表。这是start.xml文件,其中有一个文本框,我输入任何单词,将打开包含该单词的单词列表:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/FrameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<EditText
    android:id="@+id/start_edit"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_gravity="top|left"
    android:ems="10"
    android:hint="Type to search"
    android:paddingLeft="50dp" >

    <requestFocus />
</EditText>

对于列表视图我正在使用此ListView.xml文件:

<ImageView
    android:id="@+id/image_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/abacus_thumbnail"
    android:scaleType="centerCrop" />

<ImageView
    android:id="@+id/imageView_color_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/blue_thumbnail" />

<TextView
    android:id="@+id/title_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/image_list"
    android:layout_marginLeft="20dp"
    android:layout_toRightOf="@+id/image_list"
    android:gravity="center"
    android:text="Abacus"
    android:textColor="#000000"
    android:textSize="30sp"
    android:textStyle="bold"
    android:typeface="sans" />

<TextView
    android:id="@+id/textView_meaning_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/title_list"
    android:layout_below="@+id/title_list"
    android:layout_marginTop="10dp"
    android:text="TextView"
    android:textColor="#000000"
    android:textSize="25sp" />

我正在使用EfficientAdapetr将一个视图从一个视图转换为另一个视图,当我的应用程序启动时,EditBox将为空并且背景图像。当列表打开时,我在列表项上有ClickListner,当单击项目时,这个单词将打开。现在问题是,当我点击列表项时,背景填充单词但listView不删除。在项目点击我想用这个词打开我的背景。 这是我的代码:

    listAdapter = new EfficientAdapter2(this);
    setListAdapter(listAdapter);


private class EfficientAdapter2 extends BaseAdapter implements Filterable,OnItemClickListener {

    private Context context;
    LayoutInflater inflater;

    public EfficientAdapter2(Context context) {

        this.context = context;
        inflater = LayoutInflater.from(context);

    }

    public int getCount() {


        //  if(SearchWordString.isEmpty()==false)
        //  {

        return SearchWordString.size();
        /// }

        //return 0;
    }

    public Object getItem(int position) {

        return position;
    }

    public long getItemId(int position) {

        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        viewHolder2 holder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.ListView, null);
            holder = new viewHolder2();
        //  Log.i("View","is Null");
            convertView.setTag(holder);

        } else {

            //Log.i("View","is not Null");
            holder = (viewHolder2) convertView.getTag();
        }

        holder.word = (TextView) convertView.findViewById(R.id.title_list);
        holder.meaning = (TextView) convertView
                .findViewById(R.id.textView_meaning_list);
        holder.image = (ImageView) convertView
                .findViewById(R.id.image_list);
        holder.image_color = (ImageView) convertView
                .findViewById(R.id.imageView_color_list);
        holder.cell = (RelativeLayout) convertView
                .findViewById(R.id.RelativeLayout_list);









        try {

“这里的功能”

        } catch (IOException e) {

            e.printStackTrace();
        }

        return convertView;
    }

这里是onItemClick:

protected void onListItemClick(ListView l,View v,int position,long id){////////         super.onListItemClick(l,v,position,id);

    //Log.i("Position",""+position);
    changeEverything(position);// here i am converting my ListView to
                                           Start.xml but its on happening

    motherOfIndex = position;








}

1 个答案:

答案 0 :(得分:1)

首先调试您的应用并检查天气onListItemClick()事件触发。如果listView中有可点击的项目,则不会触发此项。如果是这种情况,则必须为ListView.xml文件中的所有项设置isClickable=false。为了解除listView,你必须将它的可见性设置为View.GONE

但是,如果您想在EditText上输入某些内容时弹出建议列表,那么这不是最好的做法。您可以使用AutoCompleteTextView并直接将ListView适配器设置为它。他们将为您创建一个listView,并将自动处理设置的选定文本到AutoCompleteTextView并将关闭listView