2013-04-11 4 views
0

Я думал, что могу взять пользовательские входы, которые я получаю от двух AutoCompleteTextView, и показать его в результате, для которого есть TableLayout.String Array: Результаты поиска

Два входа, что AutoCompleteTextView занимает Мое местоположение и назначения от пользователей. Сложность возникает из типа ввода, который генерирует AutoCompleteTextView. AutoCompleteTextView использует PlacesAutoComplete от Google, поэтому я работаю со входами, такими как Jamal, Kathmandu, Central Region, Непал и, возможно, Kalanki, Kathmandu, Central Region, Непал. То, что я хотел бы, чтобы TableLayout отразить это результаты: от ... до ...

Мой вопрос, как я могу просто взять в первой части строки в Джамала, Катманду, Центральный регион, Непал, который является только Jamal для TableLayout, чтобы показать результаты, похожие на: Результаты: От Jamal до Kalanki. Будучи очень новым для android, у меня есть смутная идея, код, который я пробовал, выглядит так.

String[] from; 
String[] to; 
//pulling the auto complete text view 
from = location.getString().toText(); 
to = destination.getString().toText(); 
//referencing the text view inside the table layout 
results.setText(new StringBuilder().append("Results from"+from[0]).append(" to"+to[0])); 

Этот код, очевидно, не работает, как это побуждает меня изменить from к String. Я действительно не знаю, что происходит. Пожалуйста помоги ?

ответ

1

ли это:

String[] from = new String[]{location.getString().toText()}; 
String[] to = new String[]{destination.getString().toText()}; 
results.setText(new StringBuilder().append("Results from"+from[0]).append(" to"+to[0])); 

Или

String from; 
String to; 
from = location.getString().toText(); 
to = destination.getString().toText(); 
results.setText(new StringBuilder().append("Results from"+from).append(" to"+to)); 

Надежда свою помощь.

+1

Не знаете, что означают эти объявления массива, но они не будут компилироваться. – Keppil

+0

Спасибо, я отредактировал мой ответ – jimpanzer

+0

@ Keppil, Спасибо, что указал на ошибки. – jimpanzer

0

Вы назначаете строку String []. Это не будет работать.

from = location.getString().toText(); 

Назначьте их String и выполните это.

results.setText(new StringBuilder().append("Results from"+from).append(" to"+to)); 
0

Вы не можете назначить String для String[] (Строка и массив строк не совпадают!)

Используйте их в виде строки:

String from = location.getString().toText(); 

results.setText(new StringBuilder().append("Results from"+from).append(" to"+to)); 
+0

Я использовал массив String что я могу изменить пользовательский ввод ...например, если бы они вводили адрес, например, «Каланки», «Катманду», «Центральный регион», «Непал» или «Каланки Катманду», я хотел бы показать им только одно слово, которое в этом случае «Каланки» –

+0

Но location.getString().печатать(); возвращает массив String, а не String. Вы можете создать новую строну, которая будет изменена по своему усмотрению и показать ее пользователю. – BobTheBuilder

+0

Хммм ... я не понимаю тебя ... извините ... если бы вы могли дать мне пример? –

0
String from_split = location.getText().toString(); 
    String to_split = destination.getText().toString(); 
    if(from_split.contains(",")) 
    { 
     from = from_split.split(","); 
    } 
    else 
    { 
     from = from_split.split(" "); 
    } 
    if(to_split.contains(",")) 
    { 
     to = to_split.split(","); 
    } 
    else 
    { 
     to = to_split.split(" "); 
    } 
    results.setText(new StringBuffer().append(from[0]).append(" to "+to[0])); 

Я думаю, я нашел ответ на показывая результат так, как я хотел.

Смежные вопросы