片段中的listView.setOnItemClickListener - Android - onItemClick

时间:2012-12-05 22:31:01

标签: android listview

我试图在ListItems上使用onItemClick来处理片段。它抱怨删除@Override方法..我的代码在片段类中扩展了我的其他片段

ListView listView = (ListView) getView().findViewById(R.id.listView);
adapter = new ArrayAdapter<NewsItem>    
(getActivity(),android.R.layout.simple_list_item_1,newsItemsList);
setListAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Intent myIntent = new Intent(view.getContext(), NewsSummaryActivity.class);
    startActivity(myIntent);
}
});

3 个答案:

答案 0 :(得分:3)

您正在使用JRE 1.5编译器设置,其中使用@Override这样的错误。您尝试复制的代码示例使用JRE 1.6, 使用@Override时出错。

要么

  • 删除@Override,因为您无法在1.5
  • 中使用它
  • 使用以下命令更改编译器版本:

    项目 - &gt; 属性 - &gt; Java编译器 - &gt; Java合规级别

答案 1 :(得分:1)

只需删除@Override即可。当你在接口方法上有@Override时,一些编译器级别(我认为低于1.6)会抱怨。它不会以任何方式影响功能。

有关更详细的解释:When do you use Java's @Override annotation and why?

答案 2 :(得分:0)

转到简单的方式......

在你的适配器类...... getView方法之间... put  查看v = convertView; 并在其上设置监听器。

enter code here v.setOnClickListener(new View.OnClickListener()  {

        @Override
        public void onClick(View v) {
            Toast.makeText(context, "Name : "+ list.get(position).getS_name(), Toast.LENGTH_SHORT).show();
        }
    });`

'我希望这会对你有帮助.....'