Android EditText不显示用于筛选ListAdapter ListView的键入字母



我有一个带有EditTextListViewLinearLayout。我正在使用EditText来过滤ListView。当我第一次显示屏幕时,过滤效果很好,软键盘自动弹出。当我打字时,打字的字母不会出现在EditText中。如果我点击EditText,我键入的字母会显示出来,但不会进入过滤器。就好像那里有两个EditText

这是我的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="wrap_content"
android:orientation="vertical"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<EditText
android:id="@+id/search_box"
android:layout_width="fill_parent"
android:layout_height="wrap_content"            
android:inputType="text"
android:maxLines="1"
android:textSize="17dip" />
<ListView
android:id="@+id/beerListViewID"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" >
</ListView>
</LinearLayout>

这是我为TextWatcher设置的:

@Override public void onLoadFinished(Loader<ArrayList<BeerRecord>> loader,
ArrayList<BeerRecord> beers) {
// Set the new data in the adapter.
ListView listView = (ListView) getActivity().findViewById(R.id.beerListViewID);
myAdapter = new BeerItemAdapter(getActivity(), R.layout.beerline, beers);
filterText = (EditText) getActivity().findViewById(R.id.search_box);
filterText.addTextChangedListener(filterTextWatcher);
listView.setAdapter(myAdapter);
}

和TextWatcher:

private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {            
myAdapter.getFilter().filter(s);
}
};

我应该发布更多代码吗?有人知道为什么会有2个EditText吗?

编辑:当活动开始并弹出软键盘时,我可以看到可查看的EditText没有焦点。我一定是在定义一个隐藏在第一个后面的第二个。

编辑--已回答:我想明白了。在这个片段的OnCreate方法中,我有:

getActivity().setContentView(R.layout.beer_listview);

我想这是在创造第二种观点。当我把它评论出来时,第二版文本消失了。

只是重申我上面的评论,现在8个小时已经过去了。我搞清楚发生了什么:

getActivity().setContentView(R.layout.beer_listview);

是在我的OnCreate中为我的片段创建的,它将另一个视图放在"真实"视图的顶部。我真的不知道为什么,但我知道评论解决了这个问题。我以为是这样的,只是搜索我对这个观点的每一个引用,边评论边评论。

如果有人想解释,请放心!

相关内容

最新更新