긴 클릭 이벤트를 캡처하고 목록보기 내부에 항목의 경고 상자를 표시하려고합니다. 스위치 케이스를 사용하여 수행하고 있습니다 ... ... 잘 작동합니다.스위치 케이스가 두 번째 길게 누르기에서 작동하지만 첫 번째 길게 누르기가 아님
문제 :
것은 내가 길게 누르면 아무런 경고 상자가 내가 할 경우하지만 같은 second time
경고 상자가 표시됩니다 표시되지 않습니다 first long press
에서 목록보기 내부의 항목 .. 내가 행동을 이해할 수 없었다 ...
전문가도이 문제를 도와 줄 수 있습니다. 내가 잘못하고있는 부분을 알려주고 나를 바로 잡으십시오. 그러면 긴 언론에서 경고 상자를 가져올 수 있습니다.
코드 :
Listview.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
System.out.println("Inside listview long click");
final ViewHolder myviewholder3=new ViewHolder();
myviewholder3.cb=(CheckBox) arg1.findViewById(R.id.checkBox1);
myviewholder3.view1=(Button) arg1.findViewById(R.id.button1);
System.out.println(arg1.getId());
System.out.println("cb"+R.id.checkBox1);
System.out.println(arg1.getId());
System.out.println("butt"+R.id.button1);
switch(arg1.getId()){
case R.id.checkBox1:
myviewholder3.cb.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder Alert1=new AlertDialog.Builder(sm.this);
StockAlert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
Alert1.show();
return false;
}
});
break;
case R.id.button1:
myviewholder3.view1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder ViewDetailAlert=new AlertDialog.Builder(sm.this);
Alert2.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
Alert2.show();
return false;
}
});
break;
default:
System.out.println("No Selection");
}
return false;
}
});
홀더 리스너는 목록 항목을 처음 클릭 할 때만 설정됩니다. – Simas
@ user3249477 답장을 보내 주셔서 감사합니다.하지만 어떻게이 문제를 극복 할 수 있습니까? – Siva
소유자를 만들 때 소유자를 등록해야합니다. 팁 : 어댑터의'getView' 내부. – Simas