Слайдер изображений после щелчка элемента списка - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть 50-60 изображений.Я хочу отобразить список заголовков этих изображений, и если я щелкаю элемент, необходимо открыть изображение, соответствующее этому элементу, и детали этого изображения, а затем просмотреть следующие изображения, сдвинув их.У меня есть код для отображения списка, и мне нужен код для включения слушателя и слайдера изображений, так как я новичок в разработке Android.Коды, которые у меня есть:

FilmActivity.java, activity_film.xml, filmlist.xml

. Они будут отображать список с использованием связанной хэш-карты.Теперь мне нужен остальной код.

FilmActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
  import java.util.List;
  import java.util.Map;

public class FilmActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_film);
    ListView resultsListView = findViewById(R.id.filmlist);


    LinkedHashMap<String, String> filmNames= new LinkedHashMap<>();
    filmNames.put("En veedu En Kanavar" , "1990");
    filmNames.put("Amaravathi","1993");
    filmNames.put("Prema Pusthakam","1993");
    filmNames.put("Paasamalargal","1994");
    List<LinkedHashMap<String, String>> listItems = new ArrayList<>();
    SimpleAdapter adapter = new SimpleAdapter(this, listItems, R.layout.biolist,
            new String[]{"First Line", "Second Line"},
            new int[]{R.id.text1, R.id.text2});


    Iterator it = filmNames.entrySet().iterator();
    while (it.hasNext()) {
        LinkedHashMap<String, String> resultsMap = new LinkedHashMap<>();
        Map.Entry pair = (Map.Entry) it.next();
        resultsMap.put("First Line", pair.getKey().toString());
        resultsMap.put("Second Line", pair.getValue().toString());
        listItems.add(resultsMap);
    }

    resultsListView.setAdapter(adapter);

}
} 

activity_film.xml

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

<ListView
    android:id="@+id/filmlist"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentStart="true"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="0dp" />
</RelativeLayout>

filmlist.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark">

<TextView android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/colorAccent"
    android:textSize="21sp"
    android:textStyle="bold"
    />

<TextView android:id="@+id/text2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:textColor="@color/white"
    android:textStyle="bold"
    />

</LinearLayout>

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Вы можете установить OnItemClickListener на основе выбранного элемента, который вы можете переориентировать на детали и показать слайдер изображения.

Обновленный код:

    resultsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                                long id) {

            LinkedHashMap<String, String> selectItem = listItems.get(position);
            String firstLine = selectItem.get("First Line");
            String secondLine = selectItem.get("Second Line");

            Intent intent = new Intent(FilmActivity.this, FilmDetailActivity.class);

            intent.putExtra("firstLine", firstLine);
            intent.putExtra("secondLine", secondLine);
            startActivity(intent);
        }
    });
0 голосов
/ 29 сентября 2018

Setclicklistener ваши элементы после того, как вы можете использовать библиотеку Github для слайдера изображений.Есть много библиотек, где вы можете использовать полноэкранный стиль или стиль слайдера.Пример:

Если вы хотите создать себя, вы можете использовать viewpagerдля скольжения изображения.

...