如何在(滑块布局)android中通过单击图像意图或传递数据 [英] How can intent or pass data through on click image in (slider Layout) android

查看:86
本文介绍了如何在(滑块布局)android中通过单击图像意图或传递数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一名新的应用程序开发人员,我尝试使用intent或将数据从(滑块布局)中的单击图像传递到第一个活动到第二个活动.我试图将(名称)用于第二项活动.

I am a new application developer I try intent or pass data through on click image in (slider Layout) from first activity to the second activity. I try to intent (name) to second activity.

我现在有一组不同的图像,每个图像都有自己的名称.如果用户单击第一幅图像将仅意图或传递第一幅图像的数据;如果用户单击五幅图像将意图将五幅图像的数据仅图像.就像我想要的那样.

I now have a different set of images now, each one having its own name.if user clicking on the first image will intent or pass data of first image only.Also if user clicking on the five image will intent data of five image only.Like that what I want to do.

如果有人知道答案,请帮帮我.

Please if anyone knows the answer help me.

import com.smarteist.autoimageslider.SliderLayout;
import com.smarteist.autoimageslider.SliderView;

 public class SlidShowMain extends AppCompatActivity {
    SliderLayout sliderLayout;
    private List<SlidShowListData> list_dataList;
    private JsonArrayRequest request;
    private RequestQueue requestQueue;
    private static final String HI ="http://=========/S.php";
TextView textView5;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.slide_show_new);

        sliderLayout  = (SliderLayout) findViewById(R.id.imageSlider);
        sliderLayout.setIndicatorAnimation(SliderLayout.Animations.WORM);

        list_dataList=new ArrayList<>();
        sliderLayout.setScrollTimeInSec(1);
textView5 =(TextView)findViewById(R.id.textView5);
        SliderView sliderView = new SliderView(this);
        setSliderViews();


    }

    private void setSliderViews() {
        request = new JsonArrayRequest(HI, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {

                JSONObject jsonObject = null;
                for (int i = 0; i < response.length(); i++) {
                    try {
                        jsonObject = response.getJSONObject(i);
                        SlidShowListData listData = new    SlidShowListData listData = new SlidShowListData(jsonObject.getString("imageurl"),jsonObject.getString("name"),jsonObject.getString("id"));
                       String name = jsonObject.getString("id");
                       textView5.append(name + ", "  +"\n\n");
                        list_dataList.add(listData);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
                setupdata(list_dataList);


            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });


        requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(request);

    }

    private void setupdata(List<SlidShowListData> list_dataList) {

        for (int i = 0; i <= 4; i++) {

            final SlidShowListData ld = list_dataList.get(i);
            SliderView view = new SliderView(getBaseContext());
            view.setImageUrl(ld.getImageurl());
            view.setImageUrl(ld.getname());
            view.setImageScaleType(ImageView.ScaleType.CENTER_CROP);
            final int finalI = i;
            sliderLayout.addSliderView(view);
            view.setOnSliderClickListener(new SliderView.OnSliderClickListener() {

                @Override
                public void onSliderClick(SliderView sliderView) {
                    Toast.makeText(SlidShowMain.this, "" + (sliderLayout.getCurrentPagePosition() + 1), Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
}

public class SlidShowListData {
    private String imageurl;
    private String name;
    private String id;
    public SlidShowListData(String imageurl,String name,String id) {
        this.imageurl = imageurl;
        this.name = name;
        this.id = id;
    }

    public String getImageurl() {
        return imageurl;
    }
    public String getname() {
        return name;
    }
    public String getId() {
        return id;
    }
}


 implementation 'com.github.smarteist:autoimageslider:1.1.1'
    implementation 'com.github.bumptech.glide:glide:4.7.1'


<?php
$con=mysqli_connect("localhost","=====","=====","show");

$sql="SELECT * FROM slhow";
$result=mysqli_query($con,$sql);

$data=array();
while($row=mysqli_fetch_assoc($result)){
$data[]=$row;

}

    header('Content-Type:Application/json');

    echo json_encode($data);


?>

我尝试将其编写如下:


holder.img.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(context,HomeActivity.class);
                intent.putExtra("id",======.=======()); // here problem
                context.startActivity(intent);

我不知道我应该写什么,也不知道如何在(====)的第二行中发送ID.必须发送用户刚刚单击的图像ID,而不是所有图像ID

I don't know what I should write or how on the second line into (====) to send an ID.must send the Id of image that user just clicks, not all ids of images

任何人都知道解决方案,请帮助我

Anyone know solution , please help me

推荐答案

使用以下代码从FirstActivity发送数据:

Use this code for sending data from FirstActivity:

 val intent = Intent(this@FirstActivity, SecondActivity::class.java)
            intent.putExtra("imagename", imageid)
            startActivity(intent)

这是在SecondActivity中提供日期的方法:

And this for delivering date in SecondActivity:

var imageid = intent.getStringExtra("imagename")

这篇关于如何在(滑块布局)android中通过单击图像意图或传递数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆