有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java My 安卓应用程序不加载应用程序屏幕,只是将其跳过到主应用程序屏幕?

我根据新的boston教程创建了我的应用程序,但问题是启动屏幕不起作用。我的应用程序跳过启动屏幕,只启动主活动。我检查了StackOverflow上的其他问题和答案,但它们不起作用。我正在这里粘贴代码。请检查一下,告诉我是什么问题

这是我的闪屏布局文件:Splash。xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:background="@drawable/yoyo">"

</RelativeLayout>

现在是启动屏幕。java文件:MyPage。爪哇

package com.example.yoyo;

import 安卓.app.Activity;
import 安卓.content.Intent;
import 安卓.os.Bundle;

public class MyPage extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    Thread timer = new Thread() {
        public void run() {
            try {
            sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            finally {
                Intent newActivity = new Intent("安卓.intent.action.MAIN");
                startActivity(newActivity);
            }

            }

            }; timer.start();
        };

}

现在是第二个屏幕,即我的应用程序屏幕。它是布局文件:activity_main。xml

<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:tools="http://schemas.安卓.com/tools"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:paddingBottom="@dimen/activity_vertical_margin"
安卓:paddingLeft="@dimen/activity_horizontal_margin"
安卓:paddingRight="@dimen/activity_horizontal_margin"
安卓:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
    安卓:id="@+id/nameMe"
    安卓:layout_width="match_parent"
    安卓:layout_height="wrap_content"
    安卓:layout_alignParentTop="true"
    安卓:ems="10"
    安卓:inputType="textPersonName" >

    <requestFocus />
</EditText>

<Button
    安卓:id="@+id/changeYou"
    安卓:layout_width="match_parent"
    安卓:layout_height="wrap_content"
    安卓:layout_below="@+id/nameMe"
    安卓:layout_centerHorizontal="true"
    安卓:layout_marginTop="20dp"
    安卓:text="Tell Me Your Name" />

<TextView
    安卓:id="@+id/nameDisplay"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:layout_centerHorizontal="true"
    安卓:layout_centerVertical="true" />

</RelativeLayout>

这是第二屏。java文件:MainActivity。爪哇

package com.example.yoyo;

import 安卓.os.Bundle;
import 安卓.app.Activity;
import 安卓.view.Menu;
import 安卓.view.View;
import 安卓.view.View.OnClickListener;
import 安卓.widget.Button;
import 安卓.widget.EditText;
import 安卓.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final EditText nameMe = (EditText) findViewById(R.id.nameMe);
    Button changeYou = (Button) findViewById(R.id.changeYou);
    final TextView nameDisplay = (TextView) findViewById(R.id.nameDisplay);

    changeYou.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
        String  myName = nameMe.getText().toString();
        if (myName.contentEquals("pranav")) {
            nameDisplay.setText("Hey " + myName + ". Thanks for giving  Me Life. I love talking.");
        }else if (myName.contentEquals("harshit")) {
            nameDisplay.setText("Oye Chotte");
        }else if (myName.contentEquals("preety")) {
            nameDisplay.setText("Hello Mamma.");
        }else if (myName.contentEquals("ashok")) {
            nameDisplay.setText("Hello Papa");

        }else if (myName.contentEquals("akshit")) {
            nameDisplay.setText("Hello. Thanks for Using the app.");
        }else if(myName.contentEquals("clear")) {
            nameDisplay.setText("");
        }
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

最后是清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    package="com.example.yoyo"
    安卓:versionCode="1"
    安卓:versionName="1.0" >

    <uses-sdk
        安卓:minSdkVersion="8"
        安卓:targetSdkVersion="19" />

<application
    安卓:allowBackup="true"
    安卓:icon="@drawable/ic_launcher"
    安卓:label="@string/app_name"
    安卓:theme="@style/AppTheme" 安卓:debuggable="true">

    <activity 安卓:name="com.example.yoyo.MyPage" 安卓:label="@string/app_name">
            <intent-filter>
                <action 安卓:name="安卓.intent.action.MAIN" />
                <category 安卓:name="安卓.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 安卓:name="com.example.yoyo.MainActivity"></activity>
    </application>
</manifest>

以下是日志文件:

03-19 19:43:07.039:E/dalvikvm堆(24779):56819728字节分配的内存不足。 03-19 19:43:07.049:E/AndroidRuntime(24779):致命异常:主 03-19:43:07.049:E/AndroidRuntime(24779):java。lang.RuntimeException:无法启动活动组件信息{com.example.yoyo/com.example.yoyo.MyPage}:安卓。看法膨胀异常:二进制XML文件行#2:膨胀类安卓时出错。小装置。相对布局 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2308) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2362) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动线程。访问$700(ActivityThread.java:168) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1329) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。操作系统。处理程序。dispatchMessage(Handler.java:99) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。操作系统。活套。循环(Looper.java:176) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动线程。main(ActivityThread.java:5493) 03-19:43:07.049:E/AndroidRuntime(24779):在爪哇。朗。反思。方法invokenactive(本机方法) 03-19:43:07.049:E/AndroidRuntime(24779):在爪哇。朗。反思。方法调用(Method.java:525) 03-19 19:43:07.049:E/AndroidRuntime(24779):在com。安卓内部的操作系统。ZygoteInit$MethodandArgscaler。run(ZygoteInit.java:1225) 03-19 19:43:07.049:E/AndroidRuntime(24779):在com。安卓内部的操作系统。合子体。main(ZygoteInit.java:1041) 03-19 19:43:07.049:E/AndroidRuntime(24779):在达尔维克。系统本土艺术。主(本机方法) 03-19 19:43:07.049:E/AndroidRuntime(24779):原因:安卓。看法膨胀异常:二进制XML文件行#2:膨胀类安卓时出错。小装置。相对布局 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。createView(LayoutInflater.java:669) 03-19 19:43:07.049:E/AndroidRuntime(24779):在com。安卓内部的政策impl。电话更平。onCreateView(PhoneLayoutFlater.java:56) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。onCreateView(LayoutInflater.java:718) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。createViewFromTag(LayoutInflater.java:743) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。充气(LayoutInflater.java:498) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。充气(LayoutInflater.java:426) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。充气(LayoutInflater.java:382) 03-19 19:43:07.049:E/AndroidRuntime(24779):在com。安卓内部的政策impl。电话窗口。setContentView(PhoneWindow.java:361) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动setContentView(Activity.java:1956) 03-19 19:43:07.049:E/AndroidRuntime(24779):在com。实例溜溜球。我的页面。onCreate(MyPage.java:14) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动performCreate(Activity.java:5372) 03-19 19:43:07.049:E/AndroidRuntime(247)79):在安卓。应用程序。仪器仪表。callActivityOnCreate(Instrumentation.java:1104) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2270) 03-19 19:43:07.049:E/AndroidRuntime(24779):。。。还有11个 03-19:43:07.049:E/AndroidRuntime(24779):由以下原因引起:java。朗。反思。调用目标异常 03-19:43:07.049:E/AndroidRuntime(24779):在爪哇。朗。反思。构造器。constructNative(本机方法) 03-19:43:07.049:E/AndroidRuntime(24779):在爪哇。朗。反思。构造器。newInstance(Constructor.java:417) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法更平坦。createView(LayoutInflater.java:643) 03-19 19:43:07.049:E/AndroidRuntime(24779):。。。23多 03-19:43:07.049:E/AndroidRuntime(24779):由以下原因引起:java。lang.OutOfMemoryError 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。图样位图工厂。NativeDeasset(本地方法) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。图样位图工厂。decodeStream(BitmapFactory.java:586) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。图样位图工厂。decodeResourceStream(BitmapFactory.java:439) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。图样可提取的。可提取的。createFromResourceStream(Drawable.java:832) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。所容纳之物资源。loadDrawable(Resources.java:2988) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。所容纳之物Darray先生。getDrawable(TypedArray.java:602) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法看法(View.java:3564) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法看法(View.java:3493) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。看法视图组。(ViewGroup.java:469) 03-19 19:43:07.049:E/AndroidRuntime(24779):在安卓上。小装置。相对论。(RelativeLayout.java:242) 03-19 19:43:07.049:E/AndroidRuntime(24779):。。。26多


共 (2) 个答案

  1. # 1 楼答案

    使用以下代码

    Handler handler = new Handler();
    handler.postDelayed(new Runnable()
    {
        @Override
        public void run() 
        {
         finish();
         Intent myIntent = new Intent(MainPage.this,DashBordActivity.class);
        startActivity(myIntent);
        }
        }, 1000);
    
  2. # 2 楼答案

    需要改变

     Intent newActivity = new Intent("android.intent.action.MAIN");
     startActivity(newActivity);
    

     Intent newActivity = new Intent(MyPage.this , MainActivity.class);
     startActivity(newActivity);
    

    更新:

     Handler handler = new Handler();
     handler.postDelayed(new Runnable() {
    
            @Override
            public void run() {
                // TODO Auto-generated method stub
    
                Intent newActivity = new Intent(MyPage.this , MainActivity.class);
                startActivity(newActivity);
            }
        }, 3000);
    
    
    public class MyPage extends Activity{
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
     super.onCreate(savedInstanceState);
     setContentView(R.layout.splash);
     Handler handler = new Handler();
     handler.postDelayed(new Runnable() {
    
            @Override
            public void run() {
                // TODO Auto-generated method stub
    
                Intent newActivity = new Intent(MyPage.this , MainActivity.class);
                startActivity(newActivity);
            }
        }, 3000);
    
        }
    

    更改您的splash xml

      <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@drawable/yoyo">"
    
      </RelativeLayout>
    

       <?xml version="1.0" encoding="utf-8"?>
       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/yoyo">
    
      </RelativeLayout>