У меня есть ListView, который заполнен SimpleCursorAdapter. Одно из полей, которое должно отображаться в этом представлении (TBTsqlHelperBudgets.KEY_INTERVAL), хранится в БД как int (индекс счетчика, который используется для ввода). Но я хотел бы показать текст, а не индекс в ListView. Есть предложения?
public class TBTTManageBudgetsActivity extends Activity {
// ...
// some stuff
// ...
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
// some stuff
// ...
cursor = getBudgets();
String[] uiBindFrom = { TBTsqlHelperBudgets.KEY_NAME, TBTsqlHelperBudgets.KEY_BUDGET, TBTsqlHelperBudgets.KEY_INTERVAL };
int[] uiBindTo = { R.id.name, R.id.budget, R.id.interval};
cursor.moveToFirst();
CursorAdapter adapter = new SimpleCursorAdapter(this.getApplicationContext(), R.layout.list_budgets_item, cursor, uiBindFrom, uiBindTo);
listView.setAdapter(adapter);
// ...
// some stuff
// ...
}
// ...
// some stuff
// ...
}
Кстати: спиннер настроен с использованием массива xml:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.intervals, android.R.layout.simple_spinner_item);
с xml:
<resources>
<string-array name="intervals">
<item>per day</item>
<item>per week</item>
<item>per month</item>
<item>per year</item>
</string-array>
</resources>