0

リストを実装しようとしています。これがstart.xmlファイルです。テキストボックスiがあり、任意の単語を入力すると、この単語を含む単語のリストが開きます。

<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を使用して、アプリの起動時に1つのビューを別のビューに変換しています。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;








}
4

1 に答える 1

1

最初にアプリをデバッグし、気象onListItemClick()イベントの発生を確認します。listViewにクリック可能なアイテムがある場合、これは発生しません。その場合はisClickable=false、ListView.xmlファイルのすべての項目に設定する必要があります。listViewを閉じるには、可視性を次のように設定する必要があります。View.GONE

ただし、EditTextに何かを入力したときに提案リストをポップアップする場合、これはベストプラクティスではありません。を使用してAutoCompleteTextView、ListViewアダプタを直接設定できます。それらはあなたのためのlistViewを作成し、AutoCompleteTextViewに設定された選択されたテキストを自動的に処理し、listViewを閉じます

于 2013-01-23T11:00:55.210 に答える