1

我正在尝试添加密码(我不使用 alertDialog)和闪屏(这是我的问题)密码在询问时有效,但在此之前我得到了闪屏的崩溃原因,该闪屏不起作用。

我为启动画面制作了一个 XML 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:orientation="vertical" 
xmlns:android="http://schemas.android.com/apk/res/android">  
<ImageView android:id="@+id/splashscreen" 
android:layout_gravity="center" 
android:layout_height="fill_parent" 
android:layout_width="wrap_content" 
android:src="@drawable/untitled">  
</ImageView></LinearLayout>  

当我尝试添加命令以在主程序中获取启动画面时

  AlertDialog.Builder alert = new AlertDialog.Builder(this);                 
    alert.setTitle("Login");  
    alert.setMessage("Enter Pin :");  
    alert.setCancelable(false);

    setContentView(R.layout.splashscreen);

     // Set an EditText view to get user input   
     final EditText input = new EditText(this); 
     alert.setView(input);

        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {  
        public void onClick(DialogInterface dialog, int whichButton) {  
            String value = input.getText().toString();
            String compar = "123456";
                if(value.equals(compar))
                {
                    Log.d( TAG, "Pin Value : " + value);
                   copiezmView.setVisibility(View.VISIBLE);
                }    
                else
                {
                    Toast.makeText(getApplicationContext(), "Acces Denied", Toast.LENGTH_SHORT).show();
                    alerta();
                }

我得到这个崩溃

java.lang.RuntimeException: Unable to start activity ComponentInfo{///////}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

那么我做错了什么?闪屏的目的是我想在 AlertDialog 后面和后面的东西前面,这样用户如果不知道密码就看不到后面的内容(我用 setView 做过,但这只适用于 linearLayout而不是在 PreferenceScreen

完整的 logCat

04-12 13:09:49.734: E/AndroidRuntime(1731): FATAL EXCEPTION: main
04-12 13:09:49.734: E/AndroidRuntime(1731): java.lang.RuntimeException: Unable to start     activity ComponentInfo{com.zegoggles.smssync/com.zegoggles.smssync.SmsSync}:    java.lang.RuntimeException: Your content must have a ListView whose id attribute is   'android.R.id.list'
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.os.Looper.loop(Looper.java:137)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ActivityThread.main(ActivityThread.java:5039)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at java.lang.reflect.Method.invokeNative(Native Method)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at    java.lang.reflect.Method.invoke(Method.java:511)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at dalvik.system.NativeStart.main(Native Method)
04-12 13:09:49.734: E/AndroidRuntime(1731): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.ListActivity.onContentChanged(ListActivity.java:243)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.preference.PreferenceActivity.onContentChanged(PreferenceActivity.java:959)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:273)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.Activity.setContentView(Activity.java:1881)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at com.zegoggles.smssync.SmsSync.alerta(SmsSync.java:132)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at com.zegoggles.smssync.SmsSync.onCreate(SmsSync.java:118)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at android.app.Activity.performCreate(Activity.java:5104)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at     android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-12 13:09:49.734: E/AndroidRuntime(1731):     at       android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-12 13:09:49.734: E/AndroidRuntime(1731):     ... 11 more
4

1 回答 1

2

我可以从 1 行崩溃输出中看出,你有一个ListActivity. 而且您还没有将ListViewid 指定为@android:id/list.

将列表视图 ID 设为

android:id="@android:id/list"

你的问题就会得到解决。希望能帮助到你。

于 2013-04-12T12:42:19.543 回答