カスタムlistviewを実装しようとしていますが、getviewメソッドがデバイスの画面に存在するlistitemsと同じように呼び出され、リストをスクロールすると、残りのアイテムに対してgitviewメソッドが呼び出され、以前のリストアイテムが変更されるという問題があります。は破棄されます。最初にリストビューに存在するすべてのアイテムに対してgetviewメソッドが呼び出されるようにします。
私を助けてください...
カスタムlistviewを実装しようとしていますが、getviewメソッドがデバイスの画面に存在するlistitemsと同じように呼び出され、リストをスクロールすると、残りのアイテムに対してgitviewメソッドが呼び出され、以前のリストアイテムが変更されるという問題があります。は破棄されます。最初にリストビューに存在するすべてのアイテムに対してgetviewメソッドが呼び出されるようにします。
私を助けてください...
これを getview 法で試してください
RelativeLayout yourlayout= (RelativeLayout) v.findViewById(R.id.content);
yourlayout.setOnTouchListener(new OnTouchListener()
{
boolean isOnClick=true;
public boolean onTouch(View arg0, MotionEvent arg1)
{
if(arg1.getAction()==MotionEvent.ACTION_MOVE)
{
isOnClick = false;
}
else if(arg1.getAction()==MotionEvent.ACTION_UP)
{
if(!isOnClick)
{
x_up = (int) arg1.getX();
y_up = (int) arg1.getY();
Log.v("log","x up : "+x_up +" and y :"+y_up);
// showToast("x up : "+x_up +" and y :"+y_up);
Log.v("log","difference is "+ (x_up-x_down));
if(x_up-x_down>50)
{
delete.setVisibility(View.VISIBLE);
}
else if(x_down-x_up>50)
{
delete.setVisibility(View.VISIBLE);
}
isOnClick = true;
}
else
{
isOnClick = true;
Log.v("log", "clicekd");
if(delete.getVisibility()==View.VISIBLE)
{
delete.setVisibility(View.INVISIBLE);
}
else
{
Intent i = new Intent(MyaLikeActivity.this,ProfileActivity.class);
i.putExtra("userid", listitem.getUserId());
startActivity(i);
}
}
}
else if(arg1.getAction()==MotionEvent.ACTION_DOWN)
{
x_down = (int) arg1.getX();
y_down = (int) arg1.getY();
Log.v("log","x down : "+x_down +" and y :"+y_down);
}
return true;
}
});
これを使用して...左から右または右から左にスワイプすると削除ボタンが表示されます....削除ボタンが表示されている場合は、oncliclickリスナーを設定できます..