потому что нужно length() - 1, стоит объяснять почему?>>во-первых так сразу выскочит IndexOutOfBoundsException
почему?
beeline09
а если исходный текст будет не корректный? Куча ошибок полезет.
потому что нужно length() - 1, стоит объяснять почему?>>во-первых так сразу выскочит IndexOutOfBoundsException
почему?
Не будет. Он либо будет пустым, либо будет с инфой необходимой в строгом формате.rezak90 писал(а):Вот с этим я мучался долго... Но уже в курсе )))>>во-первых так сразу выскочит IndexOutOfBoundsException
почему?
потому что нужно length() - 1, стоит объяснять почему?
beeline09
а если исходный текст будет не корректный? Куча ошибок полезет.
Присоединяюсь к вопросу. Или же легче БД сделать?gad007 писал(а):скажите пожалуйста если список содержит большое количество ячеек с названиями городов (к примеру 300) как организовать поиск по названию города?
никто здесь не будет переводить, без английского прогресс невозможен....gad007 писал(а):а не могли бы Вы хотя бы в двух словах объяснить на русском, а то по ссылке всё на английском. спасибо.
У меня проблема возникла... Когда текст ввожу, результаты фильтруются и отображается все как нужно. Но!Озорная Свинья писал(а):http://stackoverflow.com/questions/3550 ... h-listview
Ну так-то это так )) Но я вот и не могу догнать как это реализовать. Может и плохо гуглил...Но, можете хотя бы какой-то похожий примерчик показать?Озорная Свинья писал(а):По идее так и должно быть, и если у тебя возникают проблемы с OnClick элемента, то тебе нужно менять концепцию и не привязываться к ItemIndex ListView, а к id элемента, как то так)
Код: Выделить всё
public class SharActivity extends Activity {
ListView listView;
EditText editText;
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.shar);
listView = (ListView) findViewById(R.id.listView1);
editText = (EditText) findViewById(R.id.editText1);
ArrayList<String> text = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, text);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
for (int i = 0; i <= 9; i++) {
text.add(String.valueOf(i));
adapter.notifyDataSetChanged();
}
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), adapter.getItem(position), Toast.LENGTH_LONG).show();
}
});
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable str)
{
// TODO Auto-generated method stub
adapter.getFilter().filter(str);
}
});
}
}
В ListView нет вроде такого параметра.dens писал(а):Ему надо параметр "orientation" просто задать, если я правильно тебя понимаю.
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="5dp"
android:text="@string/text_view"
android:textColor="#00FF00"
android:textSize="24sp">
</TextView>
</TextView>
Код: Выделить всё
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<ListView
android:id="@+id/lvMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="14dp" >
</ListView>
</RelativeLayout>
Код: Выделить всё
public class MainActivity extends Activity {
String[] names = { "Иван", "Марья", "Петр", "Антон", "Даша", "Борис", "Костя", "Игорь", "Анна", "Денис", "Андрей" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// находим список
ListView lvMain = (ListView) findViewById(R.id.lvMain);
// создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_list_item, names);
// присваиваем адаптер списку
lvMain.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}