我正在构建和Android应用程序并创建了登录屏幕。下一个屏幕将向登录用户显示一组选项,他必须从中选择一个选项。
第二项活动是使用onPostExecute
代码从AsyncTask
的{{1}}方法开始的。
startActivity(intent)
我正在尝试使用.xml文件Intent intent = null;
intent = new Intent(context, DisplayMessageActivity.class);
context.startActivity(intent);
为此屏幕构建UI。已对清单文件进行了此操作。
我在此.xml文件中指定的任何布局属性都未应用。在这方面的任何帮助都非常感谢。例如,使用下面的代码我无法获得我设置的背景颜色。这适用于我的主要活动.xml。
我的DisplayMessageActivity类的onCreate函数是
activity_display_message.xml
完整的@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent intent = getIntent();
String message = intent.getStringExtra(CommonStaticValues.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(textView);
}
文件是
activity_display_message.xml
答案 0 :(得分:1)
我发现这里有两个可能导致问题的问题。您首先使用setContentView
,如下所示:
setContentView(R.layout.activity_display_message);
将您的XML文件应用于Activity,这是您想要的。稍后,您使用本地创建的TextView
再次调用它。如果你想在屏幕上显示由Activity
组成的TextView
,这是一种方法,但你不需要它,因为你已经有了活动的XML定义。
其次,您的XML文件TextView
没有android:id。这用于引用代码中的TextView
。因此,修改您的XML TextView
以添加如下:
<TextView
android:id="@+id/txtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
tools:context=".DisplayMessageActivity" />
然后,回到onCreate
,而不是使用TextView
构建新的TextView textView = new TextView(this);
,请从您应用的XML中访问TextView
,如下所示:
TextView textView = (TextView) findViewById(R.id.txtView);
请注意findViewById
的参数是您在XML中创建的ID。