Je développe l'application Android pour un journal local et ATM Je suis en train d'essayer de glisser entre les articles. Mon activité principale est HNappActivity et l'activité pour l'affichage d'articles est AcrticleActivity. Mon problème est, que le glissement ne fonctionnera pas et je suis désespéré parce que je n'ai aucune idée de ce qui ne va pas. le code est ici, où est mis en œuvre balayant:android - glisser entre les activités
public class ArticleActivity extends SherlockActivity {
int hnCatIndex, hnArtIndex;
WebView hnWebView;
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
private GestureDetector gestureDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.article);
hnCatIndex = getIntent().getExtras().getInt("catIndex", 0);
hnArtIndex = getIntent().getExtras().getInt("artIndex", 0);
Article article = Source.getInstance().getCategory(hnCatIndex).getArticle(hnArtIndex);
hnWebView=(WebView)findViewById(R.id.webview);
hnWebView.loadData(article == null ? "" : article.getBody(), "text/html",
"utf-8");
gestureDetector = new GestureDetector(new MyGestureDetector());
View articleview=(View) findViewById(R.id.article_main);
articleview.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
});
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {
return false;
}
// right to left swipe
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
hnArtIndex++;
Intent intent = new Intent(ArticleActivity.this.getBaseContext(), ArticleActivity.class);
intent.putExtra("catIntext",hnCatIndex);
intent.putExtra("artIndex",hnArtIndex);
startActivity(intent);
ArticleActivity.this.overridePendingTransition(
R.anim.slide_in_right,
R.anim.slide_out_left
);
// right to left swipe
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
if (hnArtIndex==1) {
Intent intent = new Intent(ArticleActivity.this.getBaseContext(), HNappActivity.class);
startActivity(intent);
}
else {
hnArtIndex--;
Intent intent = new Intent(ArticleActivity.this.getBaseContext(), ArticleActivity.class);
intent.putExtra("catIntext",hnCatIndex);
intent.putExtra("artIndex",hnArtIndex);
startActivity(intent);
}
ArticleActivity.this.overridePendingTransition(
R.anim.slide_in_left,
R.anim.slide_out_right
);
}
return false;
}
@Override
public boolean onDown(MotionEvent e) {
return true;
}
}
}
Qu'est-ce qui se passe, Êtes-vous face à un problème .. – AAnkit