2012-05-25 4 views
0

이 코드에 어떤 문제가 있습니까?
내가는 목록보기에 긴 클릭 리스너를 추가하려고 노력하지만, 바로 어떤 이유로 그것을 얻을 수 없습니다ListView의 setOnLongClickListener가 실행되지 않습니다.

package ch.futurecom.adaptertest; 
import android.app.ListActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnLongClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 

public class AdapterTestActivity extends ListActivity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     ListView lv = getListView(); 

     lv.setLongClickable(true); 
     lv.setOnLongClickListener(new OnLongClickListener() 
     { 
      @Override 
      public boolean onLongClick(View v) 
      { 
       Toast.makeText(AdapterTestActivity.this, "long clicked", Toast.LENGTH_SHORT).show(); 
       return true;  
      } 
     }); 

     lv.setAdapter(new ArrayAdapter<String>(this,R.layout.row,getResources().getStringArray(R.array.items))); 
    } 
} 

페이스트 빈 링크 :
AdapterTestActivity.java ->http://pastebin.com/Pw30EkEz
row.xml ->http://pastebin.com/6FajncHT

감사합니다!

답변

11

ListView lv = getListView(); 
      lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){ 
        @Override 
        public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) 
        { 
         Toast.makeText(AdapterTestActivity .this, "LongClicked", Toast.LENGTH_LONG).show(); 
        } 
      }); 
+1

감사 insted! 이것은 문제를 해결했습니다. – marcin

+0

감사! 그것은 나를 도왔다! 작은 메모, 당신은 반환을 추가해야합니다; – Ricardo

3

사용 setOnItemLongClickListener로 AdapterView.OnItemLongClickListener을 시도 setOnLongClickListener

lv.setOnItemLongClickListener (new OnItemLongClickListener() { 
    public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { 
    //do your stuff here 
    } 
}); 
관련 문제