我有这个代码.当我从建议列表中选择一个项目时,onTextChanged首先发生,然后oItemClicked在此之后发生.现在我想在选择单词时首先出现"onItemClicked",然后出现"onTextChanged".我看了一下Android doc,但没有提到这个话题.
package com.autocompletetest;
import java.util.Arrays;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class OnItemClickAndOnTextChangedActivity extends Activity implements TextWatcher, OnItemClickListener {
private AutoCompleteTextView textView;
private static final String[] TEMP = new String[] {
"Beep", "Belgium", "Best", "Bubble", "Bye"
};
@Override
protected void onCreate(final Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
textView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
textView.setOnItemClickListener(this);
textView.addTextChangedListener(this);
textView.setThreshold(1);
final List<String> list = Arrays.asList(TEMP);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
OnItemClickAndOnTextChangedActivity.this, …Run Code Online (Sandbox Code Playgroud) 如何将ArrayAdapter<String>静态数据转换CursorAdapter为使用Suggestion Listener SearchView?我构建了ArrayAdapter<String>from static data(allString)
ArrayAdapter<String> searchAdapter = new ArrayAdapter<String>(context, R.layout.listitem, allString);
Run Code Online (Sandbox Code Playgroud)
我将它用于MultiAutoCompleteTextView在API级别低于11的设备中正常工作
MultiAutoCompleteTextView findTextView.setAdapter(searchAdapter);
Run Code Online (Sandbox Code Playgroud)
但是我的目标API是11级,而对于API> 10,我使用的是ActionBar其中我希望有一个SearchView.
这是我所尝试的:它确实显示ActionBar嵌入式SearchView但不提供任何建议,因为它会在MultiAutoCompleteTextView.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
if (android.os.Build.VERSION.SDK_INT > 10){
inflater.inflate(R.menu.menu11, menu);
searchView = (SearchView) menu.findItem(R.id.MENU_SEARCH).getActionView();
int[] to = {0};
CursorAdapter cursorAdapter = new SimpleCursorAdapter(context, R.layout.listitem, null, allBusStopString, to);
searchView.setSuggestionsAdapter(cursorAdapter);
searchView.setOnSuggestionListener(new OnSuggestionListener() {
@Override
public boolean onSuggestionClick(int position) { …Run Code Online (Sandbox Code Playgroud) android autocompletetextview simplecursoradapter android-actionbar android-cursoradapter
可能重复 Android:autocompletetextview,建议列表显示在textview上方?
当建议列表被用户滚动但我总是打开侧面时,我完全试图在键盘上显示重叠的建议列表.
我来这里是这样的

这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sl"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".SuggestionListActivity"
android:windowSoftInputMode="adjustResize|adjustPan|stateHidden">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
这是我的main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" android:padding="10dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:layout_margin="10dp"/>
<TextView android:layout_margin="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is testing for the auto complete textview in this application to display suggestion list overlapping on keyboard." />
<AutoCompleteTextView android:id="@+id/autocomplete"
android:layout_width="fill_parent" android:layout_margin="5dp"
android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) 我有一个数组(array1 with States)AutoCompleteTextview,我在其中填充array1.当我从AutocompleteTextViewI中选择值时,state从AutoCompleteTextView下拉列表中选择一个
我想要的是从我选择的array1中获取项目的位置.
我已经试过是的.OnClickEventAutocompelteTextView
STATE.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) {
String selection = (String) parent.getItemAtPosition(position);
String num = selection;
}
});
Run Code Online (Sandbox Code Playgroud)
这SS给我,我从下拉列表中选择的价值,但我希望得到position of the value的阵列1.例如,我有一个大小为4的数组,如array1 = {A,B,C,D},如果我选择B,它应该返回我在数组中的B位置,即2.
我希望我说清楚.提前致谢.
我被困在这几天了.我的布局中有一个autoCompleteTextView和一个50/50的按钮.自动完成功能正常,但建议只占屏幕的一半(相当于我的textView占用的大小).我怎么能改变它来占据整个宽度?
原谅我糟糕的油漆技巧:
Blue = AutoCompleteTextView Red =所需的自动填充建议
这似乎是一个微不足道的问题,但只是将宽度更改为fill_parent不起作用.任何想法xml或编程?

编辑: 我的第一个问题似乎已经解决,但现在如果我切换我的按钮和我的autoCompleteTextView我得到另一个奇怪的问题.宽度从textView开始的位置开始.让我有一个不可取的结果.

我的布局中有一个AutoCompleteTextView.我还有另一种方法来选择AutoCompleteTextView中存在的相同项目.选择替代方法时,我通过以下方式填充AutoCompleteTextView中的值:
autoCompleteTextView.setText(valueFromAlternativeSource);
Run Code Online (Sandbox Code Playgroud)
其中valueFromAlternativeSource一个是有效的自动完成选项.这样做的问题在于调用setText时会出现自动完成下拉列表.在上面之后放置以下行不起作用:
autoCompleteTextView.dismissDropDown(); //Doesn't work. Why?
Run Code Online (Sandbox Code Playgroud)
关于为什么解雇下拉列表没有工作的任何想法或其他方式我可以解雇下拉列表?
我目前正在使用该AutocompleteTextView组件实现自动完成字段.
我正在尝试使用结果数添加完成提示,并且只想以与下拉列表元素不同的方式设置样式.completionHintView在组件上有一个名为的属性,但每次我给它一个我之前定义的布局时,它会抛出一个NullPointerException.
有没有人有一个关于如何设置完成提示样式的工作示例?
我正在使用Android的AutoCompleteTextViewa CursorAdapter来为应用添加自动填充功能.在视图中onItemClickListener()(即当用户触摸其中一个自动完成的下拉项目时),我检索文本并将其放在EditText中,以便用户可以根据需要进行修改.
但是,当我调用setText()TextView时,会触发自动完成行为并再次显示下拉列表.如果用户使用键盘输入新文本,我只想显示下拉列表.有没有办法做到这一点?
使用时AutoCompleteTextView,会出现下拉建议列表,软件键盘仍然可见.这是有道理的,因为输入随后的字符以缩小列表通常会更有效.
但是,如果用户想要浏览建议列表,则软件键盘仍处于运转状态时变得非常繁琐(当设备处于横向时,这更是一个问题).如果没有键盘占用屏幕空间,导航列表会容易得多.不幸的是,当您按下后退键时,默认行为会首先删除列表(即使在后退键的软件版本中,它显示的图像显示"按此键将隐藏键盘").
这是一个准系统示例,演示了我在说什么:
public class Main2 extends Activity {
private static final String[] items = {
"One",
"Two",
"Three",
"Four",
"Five"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AutoCompleteTextView actv = new AutoCompleteTextView(this);
actv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
actv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items));
actv.setThreshold(1);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.addView(actv);
setContentView(ll);
}
}
Run Code Online (Sandbox Code Playgroud)
除了这是不直观的事实(后面的键提示暗示背压将被发送到键盘),它使得导航AutoCompleteTextView建议非常无聊.
什么是最不具侵入性的方式(例如,onBackPressed()在每个活动中捕获后面并相应地路由它肯定不是理想的)使第一次按下后隐藏键盘,第二次删除建议列表?
keyboard android autocompletetextview android-softkeyboard onbackpressed
我有一个Autocompletetextview下拉建议列表,直到软键盘的边框.
然后,当滚动建议列表时: - (在姜饼手机中)下拉菜单自动增加覆盖键盘的高度,这很好,因为它显示更多项目. - (在ICS仿真器中)下拉菜单不会增加键盘的高度.
这与某些系统属性有关吗?有没有办法强制ICS中的第一个行为?