2 jonskeet JonSkeet 于 2013.08.30 17:28 提问

android中添加LayoutParams的不同方法

我创建了一个EditText ,用户可以输入公司的名称。在 EditText 下面有一个 ListView,用户已经添加了数据库。

<EditText android:id="@+id/txtBusinessName" android:hint="Name of Business" />
<ListView android:id="@+id/suggestionList" 
   android:layout_width="fill_parent" android:layout_height="wrap_content">
</ListView>

现在当用户输入时,我检查他们输入的关键字,在数据库中检索,在ListView中显示用户。现在当每个关键字事件销毁时,我就调用一个新的AsyncTask:

 EditText txtBusinessName = (EditText) findViewById(R.id.txtBusinessName);
                txtBusinessName.setOnKeyListener(new View.OnKeyListener() {
                    @Override
                    public boolean onKey(View v, int keyCode, KeyEvent event) {
                        if (event.getAction() == KeyEvent.ACTION_UP) {
                            if (v instanceof EditText) {
                                EditText txtBusinessName = ((EditText) v);

                                if (txtBusinessName.length() > 0) {
                                   if (suggestionTask != null) {
                                    suggestionTask.cancel(true);
                                    suggestionTask = null;
                                   }
                                   suggestionTask = new GetCompaniesByKeywordAsyncTask(
                                        AddBusinessActivity.this, s);
                                   suggestionTask.execute(txtBusinessName.getText()
                                        .toString());
                                }
                            }
                        }
                        return false;
                    }
                });

有什么方法能让AsyncTask中的一个单一实例来检索用户在EditText中输入的名称?
创建很多的AsyncTask 不是很有效,会出现异常。我将填充列表来接收名称。是否要让ListView根据自身内容的多少设置大小?

1个回答

cj6585256
cj6585256   2013.08.30 17:30

不是有个AutoCompleteTextView

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android代码中设置布局规则 LayoutParams.addRule(...)
设置控件布局时: LayoutParams leftTxtParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 方法一:addRule(int verb) leftTxtParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 方法二
LayoutParams的详解
简述: LayoutParams继承于Android.View.ViewGroup.LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。 通俗地讲(这里借鉴了网上的一
使用LayoutParams来动态修改组件的相对属性
自从Android问世以来,一直很多人问如何使用Java代码来完成布局文件中的工作,也就是如何用Java代码设置组件的属性。这个问题对于其他的编程语言(如C#、C++、Pascal)可能并不复杂,组件类中都提供了相应的设置属性的方法,但遗憾的是Android SDK中的组件类只提供了很少的设置属性的方法,大多数的属性并没有直接对应的获得和设置属性值的方法。事实上,使用Java代码可以设置所有的组件属
动态加载view的LayoutParams参数设置
加载view有两种方式,setContentView和inflate。  LayoutInflate,inflate加载xml资源文件。  Activity,setContentView,可以加载xml,也可以加载View对象方式。 重载方法有 public void setContentView(int layoutResID);//重载1 public void setCo
android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
遇到此问题已经是ListView添加header时出现了问题。创建Header的View时,用下面的方法View header = View.inflate(this, R.layout.header_layout, null); should fix it.Edit: As mentioned in the comments, changing the ViewGroup Parameter of
getLayoutParams()方法和setLayoutParams()方法
参考来源:http://blog.csdn.net/liuhaomatou/article/details/22899925#comments 1. getLayoutParams()和setLayoutParams()方法的解析 a. getLayoutParams():/** * Get the LayoutParams associated with this vie
代码中设置View的LayoutParams
LayoutParams分类和作用      LayoutParams是ViewGroup类中的子类,而ViewGroup我们都知道,它是容纳组件的容器。比如说:LinearLayout,ListView都是继承ViewGroup的。LayoutParams主要设置的是子view在父类布局的参数,有如下两种方式: (1)通过XML文件定义 可以看到,TextView需要
LayoutParams——RelativeLayout.LayoutParams.addRule()方法在代码中设置RelativeLayout相关属性
1. 原理说明: 我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可。 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 RelativeLayout.LayoutParams.addRule() 方法,该方法有两种重载方式; addRule(int v
[工作记录]ListView添加FootView,LayoutParams转化出错
在工作中开发一款app,运行在我的手机魅蓝note(系统5.1)上没有问题,运行在同事的小米4上发生crash.我用红米note(系统4.4)测试也发生crash。得到入下日志:FINGERPRINT: Xiaomi/gucci/gucci:4.4.4/KTU84P/V7.2.1.0.KHKCNDA:user/release-keys HARDWARE: qcom HOST: zc-miui-ota
android FrameLayout.LayoutParams代码编程
最近cocos2dx 放到iosd