0

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);
}
});
4

3 に答える 3

3

JRE 1.5 コンパイラ設定を使用していますが、@Overrideこのように使用するとエラーになります。コピーしようとしているコード サンプルは JRE 1.6 を使用しています。使用しない@Overrideとエラーになります。

また

  • ここでは 1.5以降@Overrideでは使用できないため、 を削除します。
  • コンパイラのバージョンを次のように変更します。

    プロジェクト->プロパティ-> Java コンパイラ-> Java 準拠レベル

于 2012-12-05T22:36:07.167 に答える
1

を取り除くだけ@Overrideです。一部のコンパイラ レベル (1.6 未満だと思います) は@Override、インターフェイス メソッドを使用すると文句を言います。それを削除しても、機能にはまったく影響しません。

より詳細な説明については、Java の @Override アノテーションをいつ使用し、その理由は?

于 2012-12-05T22:35:55.130 に答える
0

シンプルな方法に行くだけ......

あなたのアダプタクラスで... getViewメソッドの間に... put View v = convertView; リスナーを設定するだけです。

enter code herev.setOnClickListener(new View.OnClickListener() {

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

「これがお役に立てば幸いです.....」

于 2016-05-10T11:21:50.853 に答える