[英]Fetching information from server and assign required data to Spinner using Retrofit
How to fetch information from server and assign that data to Spinner
using retrofit and Gson
converter? 如何使用改造和
Gson
转换器从服务器获取信息并将数据分配给Spinner
?
Gradle 摇篮
dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
}
PhP code 邮递区号
<?php
require "con.php";
$sql = "SELECT * FROM Tbl_cross";
$result = mysqli_query($con,$sql);
$response = array();
while ($row = mysqli_fetch_array($result))
{
array_push($response,array('cross'=>$row['school_cross']));
}
echo json_encode ($response);
mysqli_close($con);
?>
XML code XML代码
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout
android:background="#d0d0f7"
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">
<Spinner
android:id="@+id/spinner"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.015" />
</android.support.constraint.ConstraintLayout>
1.Firstly get data from the response, which you want to set in spinner. 1.首先从响应中获取要在微调器中设置的数据。 For example, show the list of dates.
例如,显示日期列表。
private ArrayList<String> datesList=new ArrayList<>();
datesList.addAll(response.body().getData());
setDatesSpinner();
2.Call setDatesSpinner
method for setting data in spinner. 2.
setDatesSpinner
方法在微调器中设置数据。
private void setDatesSpinner() {
ArrayAdapter<String> datesAdapter = new ArrayAdapter<String>(this, R.layout.item_progress_date_list, datesList);
pro_date_spinner.setAdapter(datesAdapter);
pro_date_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.