私はAndroid開発に不慣れです。私がクリックを処理してきた方法はandroid:onClick
、ボタンのマニフェスト ファイルに属性を設定することでした。私が疑問に思っているのは、一般的に長いクリックを処理する最良の方法です。の実装について読んだことonLongClick()
がありますが、ビューを拡張するのではなく、(上記のような) ハンドラーを使用する方法はありますか? 拡張された View クラスを使用してプロジェクト全体を再構築する必要がないため、非常に役立ちます。
編集
明確にする必要があります。ListView
リスト内の要素を長押ししたときに何が起こるかを設定したいと思います。リスト内の各要素はTextView
. 回答の 1 つに従って、以下のコードを追加したところ、強制的に終了しました。
public class TwitterActivity extends ListActivity {
List<String> tweets = new LinkedList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.layout, tweets));
TextView view = (TextView) findViewById(R.id.ListTemplate);
view.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast toast = new Toast(TwitterActivity.this);
toast.setText("LongClick");
toast.show();
return true;
}
});
//...
}
}