Как можно собирать или передавать данные по изображению клика в (Макет слайдера) android - PullRequest
0 голосов
/ 01 мая 2020

Я - новый разработчик приложения. Я пытаюсь умышленно или передать данные по изображению клика в (макет слайдера) от первого занятия ко второму. Я пытаюсь настроить (имя) на второе действие.

Теперь у меня есть другой набор изображений, каждое из которых имеет собственное имя. Если пользователь, щелкнув по первому изображению, намерен или передаст данные только первого изображения . Также, если пользователь, щелкнув по пяти изображениям, получит данные только пяти изображений. Мне нравится то, что я хочу сделать.

Пожалуйста, если кто-нибудь знает ответ, помогите мне.

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.must отправить идентификатор изображения, которое пользователь просто щелкает, а не все идентификаторы изображений

Кто-нибудь знает решение, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 02 мая 2020

Используйте этот код для отправки данных из FirstActivity:

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

И это для даты доставки в SecondActivity:

var imageid = intent.getStringExtra("imagename")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...