我从我的服务器获取搜索结果并在列表视图中显示它们。首先,我需要将其更改为可滚动的下拉列表。下拉列表中的值采用以下格式: 学校A;俄国 我需要在点击时捕获此文本并将其拆分为SchoolA和Russia。 活动页面中的代码如下:
private void populateResults(String response) {
List<String> resultsFromServer = parseResponse(response);
ListView resultsList = (ListView) findViewById(R.id.schoolssListView);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, resultsFromServer);
resultsList.setAdapter(arrayAdapter);
addListenerOnClick(); // this is the method in which i need the above mentioned operations}
现在,listview的xml页面中的代码如下:
<ListView
android:id="@+id/schoolssListView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
答案 0 :(得分:2)
试试这个
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Your code here , position points to your requirement index
}
});
Onclick你可以获得项目的位置,从该位置的arrayList获取字符串,这样你就可以获得Eg:StringA;Russia
然后用分隔符;
拆分并使用它
<强>更新强>
String currentString = "StringA;Russia";
String[] separated = CurrentString.split(";");
separated[0]; // it will contain StringA
separated[1]; // it will contain russia
替代
StringTokenizer tokens = new StringTokenizer(CurrentString, ":");
String first = tokens.nextToken();// this will contain "StringA"
String second = tokens.nextToken();
答案 1 :(得分:0)
here是一个实现自定义列表视图并覆盖android上的listview onItemclick的示例
希望这会有所帮助。您可以询问是否有任何进一步的询问。