Android 寻呼机和吐司

Android 寻呼机和吐司,android,android-viewpager,toast,Android,Android Viewpager,Toast,我有一个从远程服务器加载图像的ViewPager。我的问题是,我不知道如何给它一个功能,一旦一个特定的位置被选中(未点击)。比方说,我滑动浏览页面,直到它到达特定的图像,如图5,我想显示一些说“图5”的土司 pager.setOnItemClickListener(新的OnItemClickListener(){ public void onItemClick(AdapterView arg0,视图arg1,int位置,长id){ 公共类ImagePageActivity扩展了BaseActiv

我有一个从远程服务器加载图像的
ViewPager
。我的问题是,我不知道如何给它一个功能,一旦一个特定的位置被选中(未点击)。比方说,我滑动浏览页面,直到它到达特定的图像,如图5,我想显示一些说“图5”的土司

pager.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView arg0,视图arg1,int位置,长id){
公共类ImagePageActivity扩展了BaseActivity{
私人寻呼机;
私有显示图像选项;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_image_pager);
Bundle Bundle=getIntent().getExtras();
String[]imageUrls=bundle.getStringArray(Extra.IMAGES);
int pagerPosition=bundle.getInt(Extra.IMAGE_位置,0);
选项=新建DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.image\u表示\u空\u url)
.cacheOnDisc()
.imageScaleType(imageScaleType.IN\u示例\u INT)
.build();
pager=(ViewPager)findViewById(R.id.pager);
setAdapter(新的ImagePagerAdapter(ImageURL));
pager.setCurrentItem(页面位置);
}
受保护的void onStop(){
imageLoader.stop();
super.onStop();
}
私有类ImagePagerAdapter扩展了PagerAdapter{
私有字符串[]图像;
私人充气机;
ImagePagerAdapter(字符串[]图像){
这个。图像=图像;
充气机=充气机();
}
公共项(视图容器、int位置、对象){
((ViewPager)容器)。移除视图((视图)对象);
}
公共void finishUpdate(视图容器){
}
public int getCount(){
返回图像长度;
}
公共对象实例化项(视图,int位置){
最终视图图像布局=充气机。充气(R.layout.item\u pager\u图像,空);
最终ImageView ImageView=(ImageView)imageLayout.findViewById(R.id.image);
最终ProgressBar微调器=(ProgressBar)imageLayout.findViewById(R.id.loading);
displayImage(图像[位置]、图像视图、选项、新图像加载侦听器(){
public void onLoadingStarted(){
spinner.setVisibility(View.VISIBLE);
}
public void onload失败(失败原因失败原因){
字符串消息=null;
开关(故障原因){
案例IO_错误:
message=“输入/输出错误”;
打破
大小写输出\u\u内存:
message=“内存不足错误”;
打破
案件未知:
message=“未知错误”;
打破
}
Toast.makeText(imagePageActivity.this,message,Toast.LENGTH_SHORT.show();
spinner.setVisibility(View.GONE);
setImageResource(android.R.drawable.ic_delete);
}
公共void onLoadingComplete(位图加载图像){
spinner.setVisibility(View.GONE);
Animation anim=AnimationUtils.loadAnimation(ImagePagerActivity.this,R.anim.fade_in);
设置动画(动画);
anim.start();
}
public void onload取消(){
//无所事事
}
});
((ViewPager)视图).addView(imageLayout,0);
返回图像布局;
}
公共布尔值isViewFromObject(视图,对象){
返回视图.equals(对象);
}
公共无效恢复状态(可包裹状态,类装入器){
}
公共包裹存储状态(){
返回null;
}
公共无效启动日期(查看容器){
}
}
}
您应该使用

有一个as
onPageSelected(int-position)
方法可用于获取当前位置

差不多

pager.setOnPageChangeListener(this);
然后让您的
ImagePagerActivity
实现
onpagechangeelistener
界面:

public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}

public void onPageSelected(int position) {
    Toast.makeText(getApplicationContext(), "image " + position, Toast.LENGTH_SHORT).show();
}

public void onPageScrollStateChanged(int state) {
}

您可以实现
onPageChangeListener
,然后使用(
setOnPageChangeListener()
)将此PageChagelListener设置为您的ViewPager

编辑..

使用这个简写版本

Pager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageSelected(int arg0) {
        if (pos==5) {
            //show Toast here 
        }
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
        // TODO Auto-generated method stub
    }

    @Overridee3public void onPageScrollStateChanged(int arg0) {
        // TODO Auto-generated method stub
    }
});

我试图使用“setOnPageChangeListener()”,但它给了我一个错误,它说“类型ViewPager中的方法setOnPageChangeListener(ViewPager.OnPageChangeListener)不适用于参数(ImagePageActivity)”,您需要使用ViewPager实例调用它…即ViewPager.setOnPageChangeListener()…在您实现OnPageChangeListener的地方…您需要将该引用传递给setOnPageChangeListener()…实现ImagePagePractivity的接口。按照建议重写这些方法,它就会工作。我实际上已经迷路了,如果您不介意的话,您可以将其添加到我的代码中吗?我得到的错误与它所说的“方法setOnPageChangeListener”相同ViewPager类型中的(ViewPager.OnPageChangeListener)不适用于参数(ImagePageActivity)
public class ImagePagerActivity extends BaseActivity implements onPageChangeListener {
    private ViewPager pager;
    // other variables here

    public void onCreate(Bundle savedInstanceState) {
        // create view Pager 
        // other variables 
        pager.setOnPageChangeListener(this);
    }

    // methods for Page Change Listener
    @Override
    public void onPageSelected(int pos) {
        if (pos==5) {
          //show Toast here 
        }
    }

    @Override
    public void onPageScrollStateChanged(int arg0) {
        // do Nothing
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
        // do Noting
    }

}// class def ends here
Pager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageSelected(int arg0) {
        if (pos==5) {
            //show Toast here 
        }
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
        // TODO Auto-generated method stub
    }

    @Overridee3public void onPageScrollStateChanged(int arg0) {
        // TODO Auto-generated method stub
    }
});