Получение пустого экрана при вызове StartActivity () - PullRequest
0 голосов
/ 22 февраля 2011

Заранее спасибо за ваши усилия.

У меня есть приложение, которое вращается вокруг расширенного класса ListActivity.Перед запуском приложения я хочу проверить, зарегистрирован ли пользователь, а если нет, сказать ему об этом и получить от него некоторую информацию.Итак, я попытался вызвать StartActivity в методе OnCreate ().Когда это загрузилось, я получил большой черный экран.Я подумал, что это может быть связано с тем, что он запускается в OnCreate, поэтому я позволил запуску Activity как обычно, и я попытался запустить его в событии OnClick, и я получил тот же результат.В обоих случаях, если я нажимаю escape, это окно исчезает, и главное окно приложения возвращается.

Вот строки, откуда я вызываю новую активность

Intent emailIntent = new Intent(this, EmailAddressGetter.class);
this.startActivity(emailIntent);

Воткод класса

/**
 * 
 */
package com.kosherapp;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

/**
 * @author Josh
 * 
 */
public class EmailAddressGetter extends Activity {

    public void OnCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.emailinput);
    }

}

Вот содержимое emailinput xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#ffffff"
    android:textColor="#000000"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:text="hello"
>
</TextView>

И вот содержимое манифеста

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kosherapp"
    android:versionCode="1"
    android:versionName="1.0"
>
    <uses-permission
        android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission
        android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission
        android:name="android.permission.INTERNET" />
    <uses-permission
        android:name="android.permission.CALL_PHONE" />

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
    >
        <activity
            android:name=".KosherApp"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar"
        >
            <intent-filter>
                <action
                    android:name="android.intent.action.MAIN" />
                <category
                    android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".EmailAddressGetter"
            android:label="email Address Getter"
        >
        </activity>
        <activity
            android:name=".GoogleMaps"
            android:label="Google Maps"
        >
        </activity>
        <uses-library
            android:name="com.google.android.maps" />
    </application>
</manifest> 

Дайте мне знать, если естьдругая информация, которая может вам понадобитьсяО, я запускаю это с Google API 2.1-update

Спасибо

Ответы [ 3 ]

5 голосов
/ 23 февраля 2011

Изменить OnCreate на onCreate в EmailAddressGetter.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.emailinput);
}
0 голосов
/ 23 февраля 2011

Вы используете намерение для вызова EmailAddressGetter, но у него нет фильтра намерений в манифесте. Добавьте что-то вроде Log.e («EmailAddressGetter», «Это сработало») в ваш onCreate и используйте ddms, чтобы увидеть, действительно ли он открывает это действие.

Кроме того, в обновленном коде в вашем комментарии к Робби Понд удалите строку xmlns из EditText

0 голосов
/ 22 февраля 2011

Вам нужно использовать EditText .TextView для статического текста, поэтому ничего не отображается.Вы также должны включить EditText в другой макет, такой как Linear или Relative, чтобы он выглядел чище.

...