在daimajia AndroidImageSlider中是否提供了点击监听器到滑块的布局?

在daimajia AndroidImageSlider中是否提供了点击监听器到滑块的布局?,android,android-xml,android-sliding,Android,Android Xml,Android Sliding,在我的项目中,有一个图像滑块由。当我点击图片时,我想打开另一个活动/页面。我已尝试在滑块布局中插入线性布局。但单击此线性布局中的侦听器会使滑块布局卡住 <com.daimajia.slider.library.SliderLayout android:id="@+id/advertiseSlider" android:layout_width="match_parent" android:layout_height="

在我的项目中,有一个图像滑块由。当我点击图片时,我想打开另一个活动/页面。我已尝试在滑块布局中插入线性布局。但单击此线性布局中的侦听器会使滑块布局卡住

<com.daimajia.slider.library.SliderLayout
            android:id="@+id/advertiseSlider"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <LinearLayout
                android:orientation="vertical"
                android:id="@+id/linearSlider"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
            </com.daimajia.slider.library.SliderLayout>

没有正确测试此代码,但它是这样的:

SliderLayout mySliderLayout = (SliderLayout) findViewById(R.id.slider);
for (int i = 0; i < item.getImages().size(); i++) {
  BaseSliderView baseSliderView = new BaseSliderView(context) {
    @Override public View getView() {
      View v = LayoutInflater.from(getContext()).inflate(R.layout.image_slider, null);
      ImageView target = (ImageView) v.findViewById(R.id.daimajia_slider_image);
      bindEventAndShow(v, target);
      return v;
    }
  };
  baseSliderView.image(item.getImages().get(i));
  baseSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
    @Override public void onSliderClick(BaseSliderView slider) {
      Log.d("MyActivity", "index selected:" + mySliderLayout.getCurrentPosition());
    }
  });
  mySliderLayout.addSlider(baseSliderView);
}
SliderLayout mySliderLayout=(SliderLayout)findViewById(R.id.slider);
对于(int i=0;i
我知道这是一个很老的问题,但我想我会评论一下

@Override
public void onCreate(Bundle savedInstance)
{
    super.onCreate(savedInstance);
    setContentView(R.layout.activity_layout);

    SliderLayout mySliderLayout = (SliderLayout) findViewById(R.id.slider);

    HashMap<String, Integer> image_maps = new HashMap<String, Integer>();

    image_maps.put("Title1", R.drawable.slide1);
    image_maps.put("Title2", R.drawable.slide2);
    image_maps.put("Title3", R.drawable.slide3);

    for (String name : image_maps.keySet())
    {
        TextSliderView textSliderView = new TextSliderView(this);
        textSliderView
            .description(name)
            .image(image_maps.get(name))
            .setOnSliderClickListener(this);
        textSliderView.bundle(new Bundle());
        textSliderView.getBundle()
            .putString("extra", name);
        sliderShow.addSlider(textSliderView);
    }
    sliderShow.setPresetTransformer(SliderLayout.Transformer.Accordion);
    sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
    sliderShow.setCustomAnimation(new DescriptionAnimation());
    sliderShow.setDuration(10000);
}

public void onSliderClick(BaseSliderView sliderview)
{
    Intent myNewIntent = new Intent(getApplicationContext(), MyNewActivity.class);
    startActivity(myNewIntent);
}
@覆盖
创建时的公共void(Bundle savedInstance)
{
super.onCreate(savedInstance);
setContentView(R.layout.activity_布局);
SliderLayout mySliderLayout=(SliderLayout)findViewById(R.id.slider);
HashMap image_maps=新建HashMap();
图像_映射。放置(“标题1”,R.可绘制。幻灯片1);
图像_maps.put(“Title2”,R.drawable.slide2);
图像_映射。放置(“标题3”,R.可绘制。幻灯片3);
for(字符串名称:image\u maps.keySet())
{
TextSliderView TextSliderView=新的TextSliderView(此);
文本幻灯片视图
.说明(姓名)
.image(image_maps.get(name))
.setOnSliderClickListener(本);
text sliderView.bundle(新bundle());
textSliderView.getBundle()
.putString(“额外”,名称);
添加滑块(textSliderView);
}
sliderShow.setPresetTransformer(滑块布局、Transformer.Accordion);
sliderShow.setPresetIndicator(滑块布局。PresetIndicators。中间\底部);
setCustomAnimation(新的DescriptionAnimation());
幻灯片。设置持续时间(10000);
}
滑块上的公共空白(BaseSliderView滑块视图)
{
Intent myNewIntent=newintent(getApplicationContext(),MyNewActivity.class);
星触觉(myNewIntent);
}
我希望它对任何人都有用:-)

SliderLayout SliderLayout=(SliderLayout)view.findviewbyd(R.id.advertiseSlider);
最终列表listUrls=allImageUrlList();

对于(int index=0;index这是解决方案。首先,您需要在活动中实现
BaseSliderView.OnSliderClickListener

它将提供以下覆盖方法

@Override
public void onSliderClick(BaseSliderView slider) {
    Toast.makeText(getContext(),slider.getBundle().get("extra") + "",Toast.LENGTH_SHORT).show();
}
确保已将onClickListener添加到滑块中,如下所示

 DefaultSliderView textSliderView = new DefaultSliderView(getContext());
        textSliderView
                .image("")
                .setScaleType(BaseSliderView.ScaleType.Fit)
                .setOnSliderClickListener(this);
 DefaultSliderView textSliderView = new DefaultSliderView(getContext());
        textSliderView
                .image("")
                .setScaleType(BaseSliderView.ScaleType.Fit)
                .setOnSliderClickListener(this);