как предложить данные из базы данных MySQL для AutoCompleteTextView и относиться к счетчику

у меня есть такой AutoCompleteTextView и один Spinner, Первый для city_name и второй для clg_name. Когда данные выбирают из AutoCompleteTextView, соответствующие колледжи должны быть показаны. Но AutoCompleteTextView не показывает никаких предложений и второй spinner не заселять

Вот мой код, который я пытался использовать, но он совсем не работает. Я буду признателен за вашу помощь.

Вот код Java: — ClgActivity.java

    import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

public class ClgActivity extends AppCompatActivity {
AutoCompleteTextView text;
Button bt1;
InputStream is = null;
String result = null;
String line = null;

Spinner  spinner2;
String[] city_name, college;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clg);
text = (AutoCompleteTextView) findViewById(R.id.spn1);
text.setEnabled(false);
spinner2 = (Spinner) findViewById(R.id.spn2);
final List<String> list1 = new ArrayList<String>();
final List<String> list2 = new ArrayList<String>();
bt1 = (Button) findViewById(R.id.bn7);

try
{
URL url=new  URL("http://10.0.2.2/spinner1.php");

HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoInput(true);


}
catch(Exception e)
{
Log.e("Fail 1", e.toString());
Toast.makeText(getApplicationContext(), "Invalid IP Address",Toast.LENGTH_LONG).show();
finish();
}


try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}
catch(Exception e)
{
Log.e("Fail 2", e.toString());
}


try
{
JSONArray JA=new JSONArray(result);
JSONObject json= null;
city_name = new String[JA.length()];
college = new String[JA.length()];

for(int i=0;i<JA.length();i++)
{
json=JA.getJSONObject(i);
city_name[i] = json.getString("city_name");
college[i]=json.getString("clg_name");
}
Toast.makeText(getApplicationContext(), "sss",Toast.LENGTH_LONG).show();

for(int i=0;i<city_name.length;i++)
{
list1.add(city_name[i]);
list2.add(college[i]);
}

spinner_fn();
ArrayAdapter dataAdapter1 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, list1);
dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

text.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {


spinner2.setSelection(position);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {

}

});

text.setAdapter(dataAdapter1);
}
catch(Exception e)
{

Log.e("Fail 3", e.toString());


}
}






private void spinner_fn() {





ArrayAdapter dataAdapter2 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, college);
dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter2);





spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) {


text.setSelection(position);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {

}
});

}
}

Вот XML-файл: -activity_clg.xml

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView 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=".ClgActivity">


<LinearLayout
android:layout_width="match_parent"android:layout_height="wrap_content"android:descendantFocusability="beforeDescendants"android:focusableInTouchMode="true"android:orientation="vertical">
<ImageView
android:id="@+id/iv"android:layout_width="match_parent"android:layout_height="97dp"android:layout_gravity="center"android:layout_marginTop="10dp"android:src="@drawable/splash_img" />

<TextView
android:id="@+id/textView5"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="@string/clg"android:fontFamily="@font/rm"android:textColor="@color/text"android:textSize="18sp"/>

<LinearLayout
android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="30dp"android:gravity="center"android:weightSum="1"android:orientation="horizontal">

<AutoCompleteTextView
android:id="@+id/spn1"android:layout_width="220dp"android:layout_height="60dp"android:hint="--Select City--" />

</LinearLayout>


<LinearLayout
android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal"android:layout_marginTop="10dp"android:weightSum="1">

<Spinner
android:id="@+id/spn2"android:layout_width="220dp"android:layout_height="60dp"android:autofillHints="--Select Area--" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"android:layout_marginTop="20dp"android:weightSum="1">
<Button
android:id="@+id/bn7"style="@style/Widget.AppCompat.Button.Small"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@color/title"android:text="Search"android:textColor="@color/white"android:textSize="20sp"android:textStyle="italic"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
</LinearLayout>
</ScrollView>

Вот файл php: -spinner1.php

    <?php

$sql = "SELECT * FROM cities";

require_once('newcon.php');

$r = mysqli_query($con,$sql);

$result = array();

while($row = mysqli_fetch_array($r)){
array_push($result,array(
'city_name'=>$row['city_name'],

));
}

echo json_encode(array('result'=>$result));

mysqli_close($con);
?>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]