画像でGridView
いっぱいです。1つの画像をクリックすると、aに全画面表示され、全画面表示PagerActivity
の各画像について、HTMLの一部がの下部に表示されますwebview
。タッチするwebViews
と、ビデオを起動するものと何もしないものがあります。
私の問題は、「webViewビデオ」をタッチすると、ビデオが次のレイアウトで表示されることです。
例:グリッドに3つの画像があります。最初をクリックすると、この画像は全画面表示され、下部にWebビューが表示されます。をクリックするwebview
と、画像1の上にビデオを起動するために、画像2の上にビデオが起動されます。
ここに私のコードの一部がありますImagePagerActivity
:
public class ImagePagerActivity extends BaseActivity {
...
private class ImagePagerAdapter extends PagerAdapter implements OnTouchListener,Handler.Callback {
...
public Object instantiateItem(View view, final int position) {
final View imageLayout = inflater.inflate(R.layout.item_pager_image, null);
final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
final WebView webView = (WebView) imageLayout.findViewById(R.id.webView1);
final TextView textView=(TextView) imageLayout.findViewById(R.id.edit_message);
topLevelLayout = (RelativeLayout) imageLayout.findViewById(R.id.top_layout);
videoView = (VideoView) imageLayout.findViewById(R.id.videoView);
topLevelLayout.setBackgroundColor(0x00000000);
((ViewPager) view).addView(imageLayout, 0);
imageLoader.displayImage(images[position], imageView, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted() {
...
}
@Override
public void onLoadingFailed(FailReason failReason) {
...
}
@Override
public void onLoadingComplete(Bitmap loadedImage) {
// HERE ADD THE WEBVIEW ON THE BOTTOM OF THE IMAGE
}
});
return imageLayout;
}
public boolean onTouch(View v, MotionEvent event) {
if(isWebViewLaunchViedo()){
PlayVideo(positionVideo);
}
}
}
このプロジェクトをGridActivityおよびPagerActivityユニバーサルイメージローダーに使用します
instanceiateItem(..)メソッドが2回呼び出されることを理解しているので、ビデオを再生しようとすると、videoViewはすでに新しいものに影響を与えています。しかし、どうすればこの問題を解決できますか?