当我运行这个时,我可以在textview中显示描述(只有textview在整个屏幕中),但我想在textview grid_text中显示,这是我的xml文件中的一个项目(activity_viewmore,它有一些短信和其他东西)。
public class viewmore extends Activity {
TextView descriptionTV;
private ActionBar actionBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_viewmore);
String description = getIntent().getStringExtra("description");
String imageUrl = getIntent().getStringExtra("imageUrl");
descriptionTV = (TextView) findViewById(R.id.grid_text);
TextView textView = new TextView(this);
textView.setTextSize(10);
textView.setText(description);
setContentView(textView);
}
答案 0 :(得分:2)
为什么要两次更新UI。您正在拨打setContentView()
两次。所以当你运行它时,你会看到稍后执行的只包含TextView的那个。你想要实现的目标可以是:
public class viewmore extends Activity {
TextView descriptionTV;
private ActionBar actionBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewmore);
String description = getIntent().getStringExtra("description");
String imageUrl = getIntent().getStringExtra("imageUrl");
descriptionTV = (TextView) findViewById(R.id.grid_text);
descriptionTV .setText(description);
}
答案 1 :(得分:1)
据我了解您的问题,您只想将描述应用于布局中的TextView,而不是使用新创建的视图填充整个屏幕。
你已经拥有了做这件事所需的一切。 您正在使用findViewById引用正确的TextView并将其保存到descriptionTV。 因此,您可以调用" setText(description)"而不是创建新的TextView。在描述电视上。 "只有textview在整个屏幕中出现问题"是你最后一行代码,你说新创建的TextView应该是ContentView。
所以
descriptionTV = (TextView) findViewById(R.id.grid_text);
descriptionTV.setText(description);
应该在您移除
时完成工作setContentView(textView);
因为此调用会覆盖您在
之前设置的布局this.setContentView(R.layout.activity_viewmore);
答案 2 :(得分:0)
基于我的低声誉,我无法回答您的评论,所以我要添加另一个答案。
有效。我怎么能加载图像?当我用这个 imageUrlIV.setImageResource(IMAGEURL); - 它给出了错误 setImageResource - John David
你得到的是什么样的错误,是什么类型的imageUrl?
setImageResource()只接受android资源类型的整数。 (R.drawable.test_image)