내 앱에서 긴 클릭을 사용하려고하는데 컴파일 할 수 없습니다. 이전 질문의 예제를 보았지만 컴파일 할 수는 없습니다. 내 주요 활동은 다음과 같이 선언 다음에서 onCreate() 메소드에서내 ListView에서 LongCLicks를 활성화하는 방법?
import android.widget.AdapterView.OnItemLongClickListener;
public class LinearLayoutDemo extends ListActivity implements OnClickListener, OnItemClickListener, OnItemLongClickListener {
,이를 넣어 :
myLV1.setOnItemLongClickListener(new View.OnItemClickListener() {
@Override public boolean onLongClick(View v) {
Log.d(TAG, "setOnItemLongClickListener() called for myLV");
return(true);
}
});
:
getListView().setOnItemLongClickListener(this);
그리고 내 ListView에 (하는 mylv)에 대한
, 내가 이런 짓을위의 내용이 틀렸다고 생각하지만 이유를 모르겠습니다. 컴파일러 오류가
LinearLayoutDemo.java:45: com.commonsware.android.linearpct.LinearLayoutDemo is not abstract and does not override abstract method onItemLongClick(android.widget.AdapterView<?>,android.view.View,int,long) in android.widget.AdapterView.OnItemLongClickListener
[javac] public class LinearLayoutDemo extends ListActivity implements OnClickListener, OnItemClickListener, OnItemLongClickListener {
LinearLayoutDemo.java:287: cannot find symbol
[javac] symbol : class OnItemLongClickListener
[javac] location: class android.view.View
[javac] myLV1.setOnItemLongClickListener(new View.OnItemLongClickListener() {
[javac] ^
** * ** * ** * ** * *** UPDATE ** * ** 입니다 * ** * ** * ***
ListActivity 클래스 정의에서 OnItemLongClickListener가 제거되었습니다. 나는 또한이
getListView().setOnItemLongClickListener(this);
제거있어 다음 (그 이유를 알 수없는) 나는이 코드를 추가하고 일 :
myLV1.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
Log.d(TAG, "onItemLongClick() for LV1");
return true;
}
});
그것은 꽤 간단한 것, 그래서 그것을 고수하고있어, 누군가가 나에게 이렇게 말하면 안된다.
** ** * * ** * ** * EDIT * ** * ** * ** ** * **
좋아요, 긴 클릭이 작동했습니다. 무엇을 길게 클릭했는지 어떻게 알 수 있습니까? myLV1.getCheckedItemPosition()이 작동한다고 가정했으나 그렇지 않습니다.
신경 쓰지 마라. 그것은 onItemLongClick()의 'position'매개 변수에있다.
나는 위의 두 가지를 시도했다. 나는 여전히 컴파일러 오류를 얻는다 : 추상이 아니며 onItemLongClick 추상 메서드를 재정의하지 않는다. 그게 무슨 뜻인지 모르겠다. 또한 오류가 발생합니다. 메서드는 수퍼 유형의 메서드를 재정의하거나 구현하지 않습니다. –
컴파일러 오류로 인해 myLV1.setOnItemLongClickListener에 전달 된 AdapterView.OnItemLongClickListener의 새 인스턴스 안에 onItemLongClick을 구현해야한다고 나와 있습니다. – ararog