右、
は、あなたがこれをソートしたりしていない場合は知らない、私は、ちょっとホいない場合、私は、あなたが求める何だと思う一緒にいくつかのビットをつぶしてきました。
私はこれが最善の方法ではないかもしれない、水平方向のスクロールでロードする活性を有しているが、それは私の作品:私が持っている
HolderActivityクラス(HorizontalScrollViewクラスのロード1):
int selectedItem;
public boolean onLongClick(View v, int position) {
selectedItem = position;
openContextMenu(v);
return true;
}
public boolean onItemClick(int position) {)//do what you want here on click (press)
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
String[] menuItems = {"Menu item 1 text", "Cancel"};
for (int i = 0; i<menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItemsRemove[i]);
}
menu.setHeaderTitle("My menu title");
}
私はそうのようにそこにコンテキストを通過し、あなたのHorizontalScrollViewクラスのコンストラクタパスで
:私は作成するための方法を持っている
public MyScroller(Context context) {
super(context);
this.context = context;
}
呼び出さsetFeatureItemsこれ等のArrayListからアイテム:リファレンスを有する
mGestureDetector = new GestureDetector(context, new MyGestureDetector());
そしてMyGestureDetectorネストされたクラス:このメソッド内
public void setFeatureItems(ArrayList<MyListEntity> items){}
私はそうのように各項目にコンテキストを渡すGestureDetectorを追加します私はそれはGENER行っていない名残があるかもしれないので、私は、既存のprojからこれをカットしている
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public void onLongPress(MotionEvent arg0) {
parentActivity.onLongClick(MyScroller.this, mActiveFeature);
};
@Override
public boolean onSingleTapUp(MotionEvent arg0) {
parentActivity.onItemClick(mActiveFeature);
return true;
};
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
//right to left
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
int featureWidth = getMeasuredWidth();
mActiveFeature = (mActiveFeature < (mItems.size() - 1))? mActiveFeature + 1:mItems.size() -1;
smoothScrollTo(mActiveFeature*featureWidth, 0);
return true;
}
//left to right
else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
int featureWidth = getMeasuredWidth();
mActiveFeature = (mActiveFeature > 0)? mActiveFeature - 1:0;
smoothScrollTo(mActiveFeature*featureWidth, 0);
return true;
}
} catch (Exception e) {
Log.e("Fling", "There was an error processing the Fling event:" + e.getMessage());
}
return false;
}
}
:にすべての重要なparentActivityはこのようなものですic十分、私はこれが意味をなさないか、助けてくれることを願っています。詳細を追加できたら