我在布局中有一个以编程方式创建的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显示它出现的单个像素字符(很难说)。
不确定为什么会这样。有什么建议吗?
其他信息09/21/15
数据库代码与编辑活动一起使用...包括名称字段。我可以将它设置为像这样的EditView ......
etName = (EditText) findViewById(R.id.etName);
etName.setText(test.get_name());
使用以下内容在SQL rawQuery期间从数据库设置_name字段...
test.set_name(cursor.getString(cursor.getColumnIndex(TEST_FLD_NAME)));
并且set_name函数读取...
public void set_name(String name){
this._name=name;
}
TextView tv在设置为RelativeLayout with ...
后立即添加 testrl.addView(tv);
具有未以编程方式添加的主布局的XML文件看起来像这样......
<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>
以编程方式输入代码......
LinearLayout scrolllayout = (LinearLayout) findViewById(R.id.llTest);
RelativeLayout testrl = new RelativeLayout(this);
RelativeLayout.LayoutParams tvp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
// code above for setting TextView is here
scrolllayout.addView(testrl,tvp);
请记住这看起来很奇怪:
希望这也有帮助......
答案 0 :(得分:0)
对于其他使用此问题寻求帮助的人,我想出了解决问题的方法,但不确定为什么它没有按照我的方式工作。 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);
希望能帮助其他人......虽然我真的很想知道为什么宽度的WRAP_CONTENT不起作用。