我正在关注一个教程,并正在添加一个新视图,如下所示:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_potential);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_NAME);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
ViewGroup layout = (ViewGroup) findViewById(R.id.activity_display_potential);
layout.addView(textView);
但是,当我想删除视图并返回主视图时,使用setContentView会导致问题。
所以我试着像这样使用addContentView:
super.onCreate(savedInstanceState);
addContentView(R.layout.activity_display_potential);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_NAME);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
ViewGroup layout = (ViewGroup) findViewById(R.id.activity_display_potential);
layout.addView(textView);
我以为这只是一个简单的更改,但我收到此消息:
addContentView无法应用于int。
addContentView是添加子视图的错误方法吗?
这是方法的声明:
addContentView(View view, ViewGroup.LayoutParams params)
您会发现它与并不相同setContentView
。那只是需要id
设置一个视图的,例如int
。您需要提供一个可以使用findViewById
或以其他方式使用的实际视图,以及布局参数。
我学到的非常有用的东西:在任何方法的括号内单击
CTRL+P
(或CMD+P
在Mac上),您将获得参数列表。它将帮助您查看需要为该方法提供的确切参数类型和顺序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句