我正在尝试安卓网站这里上的第一个教程
目标是输入文本并将其发送到下一页以显示它。
然而,我总是得到“不幸的是,我的第一个应用程序已经停止”。
我注意到,当我注释掉setContentView(textView);时,它是有效的。
下面是我的代码:(LogCat出于某种原因停止显示问题,所以我无法给出日志)
package com.example.myfirstapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class DisplayMessageActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
// setContentView(textView);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}发布于 2014-04-04 14:16:06
请尝试下面的代码并张贴日志。
package com.example.myfirstapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class DisplayMessageActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextSize(40);
textView.setText(message);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
}我认为也需要用xml声明TextView。我希望这能帮上忙。谢谢!
发布于 2014-04-04 14:12:03
这一行应该就在你的onCreate之后(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);试试看。
发布于 2014-04-04 14:11:36
不能在setContentView()之前调用super.onCreate()。
通常,super.onCreate()应该是重写的onCreate()中的第一行。
请注意,稍后您已经有了覆盖注释掉的setContentView()内容视图的setContentView()。
https://stackoverflow.com/questions/22865137
复制相似问题