اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم

انا مطور تطبيقات جديد واحاول اضافة عرض الصور عن طريق SliderLayout 

التطبيق شغال وصور تظهر ولككني احتاج ان امكن المستخدم من الضغط على الصورة وبعد الضغط يتم نقل ID الخاص بتلك الصورة الى اكتفتي ثاني 

اذا ممكن احد يساعدني اكون شاكر له 

هذا سورس كود الصفحة الاساسية 


public class SlidShowMain extends AppCompatActivity {
    SliderLayout sliderLayout;
    private List<SlidShowListData> list_dataList;

    private JsonArrayRequest request;
    private RequestQueue requestQueue;
TextView textView;
    private static final String HI = "https://uniqueandrocode.000webhostapp.com/hiren/horizontal/lpimgdata.php";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.slide_show_new);

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

        list_dataList=new ArrayList<>();
        sliderLayout.setScrollTimeInSec(1);

        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(jsonObject.getString("imageurl"),jsonObject.getString("id"));
                        String name = jsonObject.getString("id");
                        textView.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(this);
            view.setImageUrl(ld.getImageurl());

            view.setImageScaleType(ImageView.ScaleType.CENTER_CROP);
            final int finalI = i;
            sliderLayout.addSliderView(view);

        }
    }
}

 

وهذا سورس كود الصفحة الثانية 

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

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

 

وهذا ملف XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SlidShowMain">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:gravity="center">


        <androidx.cardview.widget.CardView
            android:layout_width="330dp"
            android:layout_height="250dp"
            android:layout_centerInParent="true"
            android:layout_margin="30dp"
            app:cardCornerRadius="8dp">

            <com.smarteist.autoimageslider.SliderLayout
                android:id="@+id/imageSlider"
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:layout_alignParentTop="true" >

            </com.smarteist.autoimageslider.SliderLayout>

        </androidx.cardview.widget.CardView>


    </LinearLayout>



</RelativeLayout>

 

 

    implementation 'com.github.smarteist:autoimageslider:1.1.1'
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.android.support:cardview-v7:28.1.1'

ياليت الي يعرف كيف ممكن ننقل ID من خلال الضغط على صورة المحددة يساعدني بتعديل على الكود المرفق ولكم جزيل الشكر

تم التعديل في بواسطة مروان مروان3

Recommended Posts

  • 0
نشر

مرحباً @مروان مروان3

يوجد عدة طٌرق لكن أسهلها من خلال ال Intent  مثال بسيط مرر ال id الخاص بالصورة من خلال ال activity الأول هكذا 

String imageId=1;
Intent i = new Intent(getBaseContext(), SecondActivity.class);    
i.putExtra("key",imageId);
startActivity(i);

وللحصول على ال id التي تم تمريرها في ال activity الثاني نقوم بالتالي في ال activity الثاني

Bundle extras = getIntent().getExtras();
if (extras != null) {
    Int imageId = extras.getInt("key");
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...