J'ai cette petite "application", et je veux quand quelqu'un tape dans une zone de texte saisie semi-automatique par exemple "Nouveau" il affiche automatiquement "New York" en option et que (fonction de saisie semi-automatique) fonctionne bien. Mais je veux quand l'utilisateur tape dans l'emplacement complet (ou la saisie semi-automatique le fait pour lui) - cette entrée de texte est transmise à une base de données qui recherche dans la base de données et recueille toutes les lignes avec l'emplacement. Par exemple, si l'utilisateur tapait "New York", la recherche dans la base de données trouverait toutes les lignes contenant "New York". Quand il trouve une/plusieurs rangée (s), il les affichera ci-dessous. En images ...De la zone de texte saisie semi-automatique à la recherche et à l'affichage de la base de données?
je quand l'utilisateur est en train de taper ...
http://www.imagesforme.com/show.php/1093305_SNAG0000.jpg
Je possède ce lorsque l'utilisateur choisir un emplacement semi-automatique
http://www.imagesforme.com/show.php/1093306_SNAG0001.jpg
Mais ce que je veux lorsque l'utilisateur choisit un emplacement de saisie semi-automatique
http://www.imagesforme.com/show.php/1093307_CopyofSNAG0001.jpg
code complet
package com.svebee.prijevoz;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
public class ZelimDoci extends Activity {
TextView lista;
static final String[] STANICE = new String[] {
"New York", "Chicago", "Dallas", "Los Angeles"
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zelimdoci);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, STANICE);
textView.setAdapter(adapter);
lista = (TextView)findViewById(R.id.lista);
SQLiteDatabase myDB= null;
String TableName = "Database";
String Data="";
/* Create a Database. */
try {
myDB = this.openOrCreateDatabase("Database", MODE_PRIVATE, null);
/* Create a Table in the Database. */
myDB.execSQL("CREATE TABLE IF NOT EXISTS "
+ TableName
+ " (Field1 INT(3) UNIQUE, Field2 INT(3) UNIQUE, Field3 VARCHAR UNIQUE, Field4 VARCHAR UNIQUE);");
Cursor a = myDB.rawQuery("SELECT * FROM Database where Field1 == 1", null);
a.moveToFirst();
if (a == null) {
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ " (Field1, Field2, Field3, Field4)"
+ " VALUES (1, 119, 'New York', 'Dallas');");
myDB.execSQL("INSERT INTO "
+ TableName
+ " (Field1, Field2, Field3, Field4)"
+ " VALUES (9, 587, 'California', 'New York');");
}
myDB.execSQL("INSERT INTO "
+ TableName
+ " (Field1, Field2, Field3, Field4)"
+ " VALUES (87, 57, 'Canada', 'London');");
}
/*retrieve data from database */
Cursor c = myDB.rawQuery("SELECT * FROM " + TableName , null);
int Column1 = c.getColumnIndex("Field1");
int Column2 = c.getColumnIndex("Field2");
int Column3 = c.getColumnIndex("Field3");
int Column4 = c.getColumnIndex("Field4");
// Check if our result was valid.
c.moveToFirst();
if (c != null) {
// Loop through all Results
do {
String LocationA = c.getString(Column3);
String LocationB = c.getString(Column4);
int Id = c.getInt(Column1);
int Linija = c.getInt(Column2);
Data =Data +Id+" | "+Linija+" | "+LocationA+"-"+LocationB+"\n";
}while(c.moveToNext());
}
lista.setText(String.valueOf(Data));
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (myDB != null)
myDB.close();
}
}
}
fichier .xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textSize="20sp" android:gravity="center_horizontal" android:padding="10sp" android:text="Test AutoComplete"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AutoComplete" />
<AutoCompleteTextView android:id="@+id/autocomplete_country"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"/>
</LinearLayout>
</LinearLayout>
pourrait vous mettre requête ?? Merci !! – jagdishkumawat