如何在Android中绑定文本视图?

时间:2014-04-07 19:03:43

标签: android sqlite cursor adapter

下面我使用一个简单的游标适配器将SQLite数据库中的数据插入到textview中。我没有将所有列都传递到单独的标签中,而是希望它们都连接在一起。如何将字符串绑定在一起? (即摆脱label2并使数据库中的两列显示为标签中的一个字符串)

private void fillData() {
  Cursor  cursor = getContentResolver().query(MyTaskContentProvider.CONTENT_URI, null, null, null,
            sort);

String[] from = new String[] { TaskTable.COLUMN_DESCRIPTION, TaskTable.COLUMN_DATE};

int[] to = new int[] { R.id.label, R.id.label2 };

getLoaderManager().initLoader(0, null, this);

adapter = new SimpleCursorAdapter(this, R.layout.task_row, cursor, from,
    to, 0);

 adapter.setViewBinder(new CustomViewBinder());

 setListAdapter(adapter);

  }

  private class CustomViewBinder implements ViewBinder {

@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {

final int descCol = cursor.getColumnIndex(TaskTable.COLUMN_DESCRIPTION);    
    if (columnIndex == descCol)
    {
        int is_desc = cursor.getInt(columnIndex);
        if(is_desc != 1)
        {

            TextView tv1 = (TextView) view.findViewById(R.id.label);
            view.setVisibility(View.GONE);
            tv1.append(cursor.getString(1));
            view.setVisibility(View.VISIBLE);
        }
        return true;
    }
    else
    {

        view.setVisibility(View.VISIBLE);

    return false;
}


 }
}

1 个答案:

答案 0 :(得分:0)

我相信这是你问的问题的答案。

你正在寻找concat方法。

例如:

String concatenatedString = new String().concat(string1+" "+string2);

可替换地:

String string1 = "This";
String string2 = "is a concatenated string";
string1 = string1.concat(" " + string2);

string1现在是“这是一个连接的字符串”

我相信你想要的实例:

String from = new String().concat(TaskTable.COLUMN_DESCRIPTION + " " + TaskTable.COLUMN_DATE);