我正在尝试实施列表。这是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;
}
答案 0 :(得分:1)
首先调试您的应用并检查天气onListItemClick()
事件触发。如果listView中有可点击的项目,则不会触发此项。如果是这种情况,则必须为ListView.xml文件中的所有项设置isClickable=false
。为了解除listView,你必须将它的可见性设置为View.GONE
但是,如果您想在EditText上输入某些内容时弹出建议列表,那么这不是最好的做法。您可以使用AutoCompleteTextView
并直接将ListView适配器设置为它。他们将为您创建一个listView,并将自动处理设置的选定文本到AutoCompleteTextView并将关闭listView