Android TextView setText无法使用SQLite中的字符串

Android TextView setText无法使用SQLite中的字符串,android,android-sqlite,textview,settext,Android,Android Sqlite,Textview,Settext,我的布局中有一个通过编程创建的TextView String dataname; dataname="test name"; TextView tv = new TextView(this); tv.setText(dataname); 这正如预期的那样有效 如果我从SQL数据库中设置dataname,它将不起作用。下面是提取数据的代码片段 表类声明包括: public class TblTest { private int _id; private String

我的布局中有一个通过编程创建的TextView

String dataname;
dataname="test name";

TextView tv = new TextView(this);
tv.setText(dataname);
这正如预期的那样有效

如果我从SQL数据库中设置dataname,它将不起作用。下面是提取数据的代码片段

表类声明包括:

public class TblTest {
     private int     _id;
     private String  _name;
返回字段的函数

public String get_name() {
    return this._name;
}
应将数据放入TextView的已修改调用

String dataname;

String dataname=test.get_name();

Log.i("TESTLOG","dataname="+dataname);

TextView tv = new TextView(this);
tv.setText(dataname);
TESTLOG在dataname变量中显示数据库中的正确名称。TextView显示了一个很难分辨的像素字符

不知道为什么会这样。有什么建议吗

附加信息2015年9月21日

数据库代码按原样使用编辑活动。。。包括名称字段。我可以将它设置为这样的编辑视图

etName = (EditText) findViewById(R.id.etName);
etName.setText(test.get_name());
<ScrollView
    android:layout_width="fill_parent"
    android:paddingTop="5dp"
    android:layout_height="0dp"
    android:layout_weight="1.30"
    >

    <LinearLayout
        android:id="@+id/llTest"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
    </LinearLayout>
</ScrollView>
_name字段是在SQL查询过程中使用以下命令从数据库中设置的

test.set_name(cursor.getString(cursor.getColumnIndex(TEST_FLD_NAME)));
set_name函数读取

public void set_name(String name){
    this._name=name;
}
TextView tv在设置为RelativeLayout后立即添加,带有

        testrl.addView(tv);
主布局未通过编程方式添加的XML文件如下所示

etName = (EditText) findViewById(R.id.etName);
etName.setText(test.get_name());
<ScrollView
    android:layout_width="fill_parent"
    android:paddingTop="5dp"
    android:layout_height="0dp"
    android:layout_weight="1.30"
    >

    <LinearLayout
        android:id="@+id/llTest"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
    </LinearLayout>
</ScrollView>
请记住,作为对奇怪现象的总结:

数据库代码的工作方式与在其他活动中编写的相同 i显示dataname变量在setText之前包含来自数据库的正确数据 如果我手动填写dataname,它将正确显示在TextView tv中 根据日志,只有当dataname来自数据库时,它才会失败,即使它再次在其中包含该名称
希望这也能有所帮助……

对于其他使用此问题寻求帮助的人,我计算了修复它所需的时间,但不确定为什么它不能按我的方式工作。LayoutParam读取

RelativeLayout.LayoutParams tvp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
无论出于什么原因,都需要

RelativeLayout.LayoutParams tvp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

希望这能帮助其他人。。。虽然我很想知道为什么宽度的换行内容不起作用。

您在哪里设置_name值?尝试string.valueOf、toString或add a您可以显示xml布局您如何将编程创建的文本视图添加到屏幕上?将附加信息发布到主问题,以回答评论中提出的问题。