我有一个列表视图,里面填充了一个字符串数组列表我想让它可点击..但我无法识别点击了哪个项目
我已经做了这个,但它不起作用!
有没有办法知道点击的字符串?如果不是有没有办法知道点击项目的位置?
public class SearchResults extends Activity{
public ArrayList<String> findMovieByName(String name) {
ArrayList<movie> matches = new ArrayList<movie>();
// go through list of members and compare name with given name
for(movie movie : MovieReg_activity.movies) {
if (movie.getName().contains(name)) {
matches.add(movie); // adds matching member to the return list
}
}
ArrayList<String> matchesNames = new ArrayList<String>();
int x=0;
for( movie movie : matches) {
String name65 = movie.getName();
matchesNames.add(x,name65);
x++ ;
}
return matchesNames; // return the matches, which is empty when no member with the given name was found
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
ListView lv=(ListView)findViewById(R.id.listView1);
TextView tv=(TextView)findViewById(R.id.textView1);
Bundle bundle =getIntent().getExtras();
if(bundle!=null){
String searchbar =bundle.getString("search value");
ArrayList<String> list = findMovieByName(searchbar);
int match_size=list.size();
tv.setText("no of matches=" +match_size);
ArrayAdapter<String> ad = new ArrayAdapter<String>(SearchResults.this, android.R.layout.simple_list_item_1, list);
lv.setAdapter(ad);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View position , int arg2,
long arg3) {
if( position.equals(1) ){
Toast.makeText(SearchResults.this,"1 chosen", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SearchResults.this,"nothing", Toast.LENGTH_LONG).show();
}
}
});
}
}
}
final ListView lv = (ListView) findViewById(R.id.yourListView);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
String selectedFromList =(String) (lv.getItemAtPosition(myItemInt));
}
});