我有一个edittext字段和一个"搜索"按钮.当我点击搜索时,我必须显示一个列表视图,其中包含与edittext中输入的值相对应的数据.我使用addHeader()在列表中添加了一个标题.当我第一次搜索时,我能够成功地在List中显示数据.但是当我再次搜索时,我收到以下错误.
FATAL EXCEPTION: main
java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
at android.widget.ListView.addHeaderView(ListView.java:261)
at android.widget.ListView.addHeaderView(ListView.java:284)
Run Code Online (Sandbox Code Playgroud)
在设置适配器之前,我已将标题分配给我的列表.
以下是我的代码:
myList = (ListView) findViewById(R.id.searchResultsList);
View header = View.inflate(this, R.layout.search_results_header, null);
myList.addHeaderView(header, null, false);
dataAdapter = new MyCustomAdapter(this, R.layout.results_list_item, searchedResults);
myList.setAdapter(dataAdapter);
Run Code Online (Sandbox Code Playgroud)
我在哪里做错了?
我正在尝试创建AVD,但在选择了目标之后,它显示"No Target Selected".
我有一个列表视图.我在适配器的getView()方法中分配了下面的备用行颜色:
if(position % 2 ==1)
{
convertView.setBackgroundColor(Color.rgb(231, 249, 255));
}
else
{
convertView.setBackgroundColor(Color.rgb(195, 240, 255));
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常.现在我想更改所选列表项的颜色.为此我遵循了以下程序:
我在listSelector xml上创建如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected -->
<item
android:state_focused="true"
android:state_selected="false"
android:drawable="@drawable/focused"/>
<!-- Pressed -->
<item
android:state_selected="true"
android:state_focused="false"
android:drawable="@drawable/selected" />
</selector>
Run Code Online (Sandbox Code Playgroud)
我已将上面的选择器分配到我的列表中,如下所示:
myList.setSelector(R.drawable.list_selector);
Run Code Online (Sandbox Code Playgroud)
但我没有选择列表项颜色.
任何人都可以请告诉我如何将备用行颜色和选定的列表项颜色设置为Android列表.
我试图将字符串格式的值"0000002"传递给下一个活动,如下所示:
Intent pass = new Intent(this, SecondActivity.class);
pass.putExtras("EmpID", "0000002");
Run Code Online (Sandbox Code Playgroud)
在第二次活动中
Bundle info = getIntent().getExtras();
System.out.println("Test " + info.getString("EmpID")); // this line printing "null" value instead of "0000002".
Run Code Online (Sandbox Code Playgroud)
我能够成功传递和获取其他字符串.我无法获取EmpID.
请帮我.