我有2 TextView
个,但其中一个没有显示任何文字。我在LogCat
中看到了,但在应用程序中它并没有显示。我确定问题出在我的xml
文件中,但我不知道究竟是什么。我也在这里看了很多这样的帖子,我尝试了不同的东西,但非帮助我。这是布局
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="300dp"
android:layout_height="0dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_weight="10.18"
android:background="@drawable/buttons"
android:orientation="vertical" >
<TextView
android:id="@+id/name"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:text="" />
<TextView
android:id="@+id/text"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:layout_marginTop="10dp"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="vertical" >
<Button
android:id="@+id/pressMe"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@drawable/bg_button"
android:gravity="center"
android:padding="4dp"
android:text="@string/PressMe" />
<Button
android:id="@+id/dontPress"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/bg_button"
android:gravity="center"
android:padding="4dp"
android:text="@string/DontPressMe" />
</LinearLayout>
</LinearLayout>
</ScrollView>
有问题的TextView
是"@+id/name"
我也可以通过putExtra
和getExtra
intent.putExtra("text", stocks[position].text);
intent.putExtra("name", stocks[position].name);
和
Bundle b = getIntent().getExtras();
if (b != null) {
name = b.getString("name");
textView.setText(name+"");
text = b.getString("text");
textView.setText(text+"");
所以text
就在那里,但name
丢失了。在第一个活动上都有。
textView = (TextView) findViewById(R.id.name);
textView = (TextView) findViewById(R.id.text);
答案 0 :(得分:3)
您的布局没有问题
但问题在于你的代码,你必须在你的oncreate方法中找到textView。 你确实找到了两者,但问题是当你设置文本时,使用相同的文本引用
这里你对两个文本视图都采用相同的参考。像这样改变它。
TextView txtName = (TextView)findviewbyid(R.id.name);
TextView txtText = (TextView)findviewbyid(R.id.text);
Bundle b = getIntent().getExtras();
if (b != null) {
name = b.getString("name");
//change here txtName.setText(name+"");
text = b.getString("text");
//change here txtText.setText(text+"");
}
答案 1 :(得分:2)
android:paddingBottom="10dp"
为什么你有这个?
尝试将其删除或更改为:
android:layout_marginBottom="10dp"
答案 2 :(得分:2)
您使用以下方法覆盖同一TextView对象中的文本:
textView = (TextView) findViewById(R.id.name);
textView = (TextView) findViewById(R.id.text);
textView.setText(name+"");
textView.setText(text+"");
保留两个单独的textview并执行此操作:
TextView textview1, textview2;
textView1 = (TextView) findViewById(R.id.name);
textView2 = (TextView) findViewById(R.id.text);
textView1.setText("name");
textView2.setText("description");
希望它有所帮助。
答案 3 :(得分:1)
尝试使用以下代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/chat_add_contact"
android:orientation="vertical" >
<TextView
android:id="@+id/name"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:text="dsgdsfgdfhdgfhfjhgfj" />
<TextView
android:id="@+id/text"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingTop="10dp"
android:layout_marginTop="10dp"
android:text="sfgdfhgfjgfjhgjhg" />
</LinearLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="vertical" >
<Button
android:id="@+id/pressMe"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@drawable/ic_launcher"
android:gravity="center"
android:padding="4dp"
android:text="PressMe" />
<Button
android:id="@+id/dontPress"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/ic_launcher"
android:gravity="center"
android:padding="4dp"
android:text="DontPressMe" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 4 :(得分:1)
TextView txtCont = (TextView) findViewById(R.id.name);
答案 5 :(得分:1)
更改此代码可能会对您有所帮助,
Bundle b = getIntent().getExtras();
if (b != null) {
name = b.getString("name");
((TextView)findviewbyid(R.id.name)).setText(name+"");
text = b.getString("text");
((TextView)findviewbyid(R.id.text)).setText(text+"");