我正在尝试在我的应用中创建一个非常简单的帮助页面。页面的布局xml仅包含显示帮助信息的textview。在Eclipse布局视图中,布局看起来很完美......但是,当我尝试在模拟器中加载它时(通过OptionsMenu),它会变成一个空白的黑屏。我做错了什么?
以下是代码:
//This is my Help page code
package com.soapbox.servicerec;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
public class HelpPage extends Activity {
private static final int INSERT_ID = Menu.FIRST;
private static final int ACTIVITY_CREATE=0;
protected void onCreate(){
setContentView(R.layout.help_page);
setTitle(R.string.help_title);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, 0, R.string.menu_insert);
return true;
}
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case INSERT_ID:
createNote();
return true;
}
return super.onMenuItemSelected(featureId, item);
}
private void createNote() {
Intent i = new Intent(this, NoteEdit.class);
startActivityForResult(i, ACTIVITY_CREATE);
}
}
和布局XML ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@android:color/white">
<TextView android:textSize="16px" android:textColor="@android:color/black" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:gravity="center_horizontal" android:paddingLeft="10px"
android:paddingRight="10px" android:text="@string/help_text"/>
</LinearLayout>
答案 0 :(得分:0)
您的onCreate
方法签名错误。
注意下面的差异
您的方法protected void onCreate()
正确的方式@Override public void onCreate(Bundle savedInstanceState)
@Override
表示法是可选的,但非常有用,因为它确保方法签名与父类匹配,有助于防止这些情况。
答案 1 :(得分:0)
检查Chris响应,您必须将onCreate函数定义为::
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help_page);
setTitle(R.string.help_title);
}