写入方法来处理listview android中的点击

时间:2013-11-25 09:47:34

标签: android listview dropdownbox

我从我的服务器获取搜索结果并在列表视图中显示它们。首先,我需要将其更改为可滚动的下拉列表。下拉列表中的值采用以下格式: 学校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>

2 个答案:

答案 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的示例

希望这会有所帮助。您可以询问是否有任何进一步的询问。