当前位置: 首页 > 知识库问答 >
问题:

在可点击列表视图中单击了哪个项目

蓝夕
2023-03-14

我有一个listView,它充满了字符串的数组列表,我想让它可点击...但我无法识别哪个项目被点击了

我做了这个,但没用!

有办法知道被点击的字符串吗?如果没有,是否有办法知道被点击项目的位置?

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

                    }           

            }
        });

        }
    }
    }

共有1个答案

阎建华
2023-03-14
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));

      }                 
});
 类似资料:
  • 问题内容: 我现在正在寻找几天以寻求ListView中可点击项的解决方案。 首先,我遇到了这个问题: **developer.android.com/resources/articles/touch-mode.html** ,发现它没有“正常”的onListItemClick()行为。 然后我遇到了 这段代码 :http : //www.androidsnippets.org/snippets/1

  • 我正在使用chart.js绘制多个折线图。当用户点击其中一个图表时,我需要知道是哪个图表。为了捕捉用户的单击,我在图表的中添加了以及一个以在用户单击图表时调用函数。现在我有了这个: null null 每次单击图表时,它都会给出一个(包含每个图表的信息),还会给出一个包含click事件信息的对象。但我似乎找不到信息来断定哪个图表被点击了。我怎么能这么做?

  • 我有一个从适配器展开的列表视图。当我点击其中一个按钮时,我得到了错误的项目。在我添加了< code>whatsApp按钮之前,它一直工作正常。 这是我的适配器: 在代码中添加了一个onClickListener,如果按下waze按钮,它将检查位置,如果按下whatsapp按钮,则检查名称。这是代码 如何更改此项以获得正确的项目?

  • 然后,在每个@test方法中,我调用activitytestrule.launchactivity(Intent.action_main)),然后进行单击。我发现,只有第一次点击不起作用,但第二次和第三次点击起作用。那么,这种行为的原因又能是什么呢?

  • 问题内容: 我想使列表视图中的所有列表项都打开到一个新页面中,因此每个列表视图项都打开到一个我可以使用的新黑色页面上。我根本不知道该如何实现。我已经连续搜索了几个小时,找不到解决方案的答案。如果有人可以显示和/或解释如何执行此操作而不是提供链接,将不胜感激,但是两者之一都很有帮助。 到目前为止,这是我的代码: 这是在我的string.xml中 这是在我的activity_main.xml中。 我应

  • 我正在为列表视图编写一个lazyload代码,在这个代码中,我得到了一个json格式的文本和图像url,并将它们放在列表视图中。 图像和文字都相应地显示为我想要的。 我面临的问题是,当列表向下或向上滚动时,视图的索引会受到干扰。 假设我的列表中有10个元素,图像可以横向预览。最初,我可以看到4个元素的onclick操作运行良好,但当我向下滚动并单击第7个元素时,索引会受到干扰,并导致空指针异常。