【问题标题】:which item was clicked in a clickable list view在可点击的列表视图中点击了哪个项目
【发布时间】:2014-02-19 18:59:40
【问题描述】:

我有一个列表视图,其中填充了一个字符串数组列表 我想让它可点击..但我无法识别点击了哪个项目

我做了这个,但它不起作用!

有没有办法知道点击的字符串? 如果不 有没有办法知道点击项目的位置?

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();

                    }           

            }
        });

        }
    }
    }

【问题讨论】:

    标签: android listview arraylist onitemclicklistener clickable


    【解决方案1】:
    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));
    
          }                 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多