如何在(slider Layout)安卓系统中点击图片时传递数据的意图或数据。

我是一个新的应用程序开发者,我试着将第一个活动中的点击图片的数据意图或传递到第二个活动。我尝试将(名称)意图传递给第二个活动。

我现在有一组不同的图像,每个人都有自己的名字.如果用户点击第一张图片将意图或传递数据的第一张图片.也如果用户点击五个图像将意图数据的五个图像只.像我想做什么。

请如果有谁知道答案帮助我。

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。

有谁知道解决方案,请帮助我

解决方案:

使用这个代码从FirstActivity发送数据。

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

而这个用于在第二个活动中传递日期。

var imageid = intent.getStringExtra("imagename")

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/17690.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表评论

登录后才能评论