从一个活动转移到另一个机器人 [英] moving from one activity to another in Android

查看:104
本文介绍了从一个活动转移到另一个机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我的code以下。请告诉我,我做错了什么?

 包version.nitt;

 进口android.app.Activity;
 进口android.os.Bundle;
 进口android.view.View;
 进口android.view.View.OnClickListener;
 进口android.widget.Button;
 进口android.widget.LinearLayout;
 进口version.nitt.R;
 进口android.util.Log;
 进口android.content.Intent;

 公共类versionActivity延伸活动{
私人可运行可运行的;
私有静态最后字符串变量=欢迎光临!;
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.startscreen);

    可运行=新的Runnable(){
        公共无效的run()
        {
            尝试
            {
                 Log.v(TAG,要睡觉......);
                视频下载(1000);
                 Log.v(TAG,从睡眠中醒来......);
            }
            赶上(例外E1)
            {
            }
        }
    };
    尝试
    {
        线程t =新主题(空,可运行);
        t.start();
        最终意图I =新的意图(versionActivity.this,secondActivity.class);
        的LinearLayout林=(的LinearLayout)findViewById(R.id.ll);
        lin.setOnClickListener(新OnClickListener()
        {
            公共无效的onClick(视图v)
            {
                 完();
                 startActivity(ⅰ);
            }

        });

    }
    赶上(例外五)
    {

    }


        Button按钮=(按钮)findViewById(R.id.cls);
        button.setOnClickListener(新OnClickListener(){

            @覆盖
            公共无效的onClick(视图v){
                // TODO自动生成方法存根
                完();
                System.exit(0);
            }
      });




 }
}
 

我想,如果用户点击屏幕上的任意位置移动,从一个活动到另一个。线性布局被设置为clikable。该应用程序被加载。但是,当被的onClick移动到下一个活动执行,该应用是力关闭。

登录猫:

  08-05 14:46:37.028:I /过程(1883年):发送信号。 PID:1883年SIG:9
08-05 14:46:51.479:D / dalvikvm(1915年):GC_FOR_ALLOC释放31K,4%的自由6342K / 6595K,暂停64ms的
08-05 14:46:51.499:I / dalvikvm堆(1915年):成长堆(破片的情况下),以7.279MB为1080016字节分配
08-05 14:46:51.650:D / dalvikvm(1915年):GC_FOR_ALLOC释放< 1K,4%的自由7396K / 7687K,暂停59ms
08-05 14:46:51.819:D / dalvikvm(1915年):GC_CONCURRENT释放< 1K,4%的自由7396K / 7687K,暂停4ms的+ 13毫秒
08-05 14:46:52.019:D / dalvikvm(1915年):GC_FOR_ALLOC释放< 1K,4%的自由7396K / 7687K,暂停57ms
08-05 14:46:52.031:I / dalvikvm堆(1915年):成长堆(破片的情况下),以7.737MB为480016字节分配
08-05 14:46:52.162:D / dalvikvm(1915年):GC_FOR_ALLOC释放0K,5%的游离7865K / 8199K,暂停为65μs
08-05 14:46:52.439:D / dalvikvm(1915年):GC_CONCURRENT释放1054K,17%的自由6813K / 8199K,暂停10毫秒+ 5ms的
08-05 14:46:52.840:D / dalvikvm(1915年):GC_CONCURRENT释放351K,15%的可用6973K / 8199K,暂停的8ms + 6ms的
08-05 14:46:52.840:V /欢迎(1915年):睡觉...
08-05 14:46:53.838:V /欢迎(1915年):从睡眠中醒来......
08-05 14:47:03.398:D / AndroidRuntime(1915年):关闭虚拟机
08-05 14:47:03.398:W / dalvikvm(1915年):主题ID = 1:螺纹退出与未捕获的异常(组= 0x40014760)
08-05 14:47:03.428:E / AndroidRuntime(1915年):致命异常:主要
08-05 14:47:03.428:E / AndroidRuntime(1915年):android.content.ActivityNotFoundException:无法找到明确的活动类{version.nitt / version.nitt.secondActivity};有你宣布你的Andr​​oidManifest.xml这个活动?
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1504)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1382)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.app.Activity.startActivityForResult(Activity.java:3131)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.app.Activity.startActivity(Activity.java:3237)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在version.nitt.versionActivity $ 2.onClick(versionActivity.java:46)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.view.View.performClick(View.java:3110)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.view.View $ PerformClick.run(View.java:11934)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.os.Handler.handleCallback(Handler.java:587)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.os.Handler.dispatchMessage(Handler.java:92)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.os.Looper.loop(Looper.java:132)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在android.app.ActivityThread.main(ActivityThread.java:4123)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在java.lang.reflect.Method.invokeNative(本机方法)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在java.lang.reflect.Method.invoke(Method.java:491)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
08-05 14:47:03.428:E / AndroidRuntime(1915年):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

  lin.setOnClickListener(新OnClickListener()
{
    公共无效的onClick(视图v)
    {

       意图I =新的意图(versionActivity.this,secondActivity.class);
       startActivity(ⅰ);
       完(); //应该可以使用结束,如果你需要preserve内存
                 //其他明智不要使用它。
    }

});
 

第二步:AndroidManifest.xml中

 <活动机器人:名称=。secondActivity>
     <意向滤光器>
        <作用机器人:名称=android.intent.action.MAIN/>
     &所述; /意图滤光器>
< /活性GT;
 

The following if my code. Please tell me what I am doing wrong?

 package version.nitt;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.LinearLayout;
 import version.nitt.R;
 import android.util.Log;
 import android.content.Intent;

 public class versionActivity extends Activity {
private Runnable runnable;
private static final String TAG="WElcome!";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.startscreen);

    runnable= new Runnable(){
        public void run()
        {
            try
            {
                 Log.v(TAG,"Going to sleep...");  
                Thread.sleep(1000);
                 Log.v(TAG,"Waking up from sleep...");  
            }
            catch(Exception e1)
            {
            }
        }
    };
    try
    {
        Thread t=new Thread(null,runnable);
        t.start();
        final Intent i=new Intent(versionActivity.this,secondActivity.class);
        LinearLayout lin =(LinearLayout) findViewById(R.id.ll);
        lin.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                 finish();
                 startActivity(i);
            }

        });

    }
    catch(Exception e)
    {

    }


        Button button = (Button) findViewById(R.id.cls);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                finish();
                System.exit(0);
            }
      });




 }
}

I am trying to move from one activity to another if the user clicks anywhere on the screen. The Linear layout is set to clikable. The application gets loaded. But when the onClick is performed for moving on to the next activity, the app is force closed.

Log Cat:

08-05 14:46:37.028: I/Process(1883): Sending signal. PID: 1883 SIG: 9
08-05 14:46:51.479: D/dalvikvm(1915): GC_FOR_ALLOC freed 31K, 4% free 6342K/6595K, paused 64ms
08-05 14:46:51.499: I/dalvikvm-heap(1915): Grow heap (frag case) to 7.279MB for 1080016-byte allocation
08-05 14:46:51.650: D/dalvikvm(1915): GC_FOR_ALLOC freed <1K, 4% free 7396K/7687K, paused 59ms
08-05 14:46:51.819: D/dalvikvm(1915): GC_CONCURRENT freed <1K, 4% free 7396K/7687K, paused 4ms+13ms
08-05 14:46:52.019: D/dalvikvm(1915): GC_FOR_ALLOC freed <1K, 4% free 7396K/7687K, paused 57ms
08-05 14:46:52.031: I/dalvikvm-heap(1915): Grow heap (frag case) to 7.737MB for 480016-byte allocation
08-05 14:46:52.162: D/dalvikvm(1915): GC_FOR_ALLOC freed 0K, 5% free 7865K/8199K, paused 65ms
08-05 14:46:52.439: D/dalvikvm(1915): GC_CONCURRENT freed 1054K, 17% free 6813K/8199K, paused 10ms+5ms
08-05 14:46:52.840: D/dalvikvm(1915): GC_CONCURRENT freed 351K, 15% free 6973K/8199K, paused 8ms+6ms
08-05 14:46:52.840: V/WElcome!(1915): Going to sleep...
08-05 14:46:53.838: V/WElcome!(1915): Waking up from sleep...
08-05 14:47:03.398: D/AndroidRuntime(1915): Shutting down VM
08-05 14:47:03.398: W/dalvikvm(1915): threadid=1: thread exiting with uncaught exception (group=0x40014760)
08-05 14:47:03.428: E/AndroidRuntime(1915): FATAL EXCEPTION: main
08-05 14:47:03.428: E/AndroidRuntime(1915): android.content.ActivityNotFoundException: Unable to find explicit activity class {version.nitt/version.nitt.secondActivity}; have you declared this activity in your AndroidManifest.xml?
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1504)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1382)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.app.Activity.startActivityForResult(Activity.java:3131)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.app.Activity.startActivity(Activity.java:3237)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at version.nitt.versionActivity$2.onClick(versionActivity.java:46)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.view.View.performClick(View.java:3110)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.view.View$PerformClick.run(View.java:11934)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.os.Handler.handleCallback(Handler.java:587)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.os.Looper.loop(Looper.java:132)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at android.app.ActivityThread.main(ActivityThread.java:4123)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at java.lang.reflect.Method.invokeNative(Native Method)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at java.lang.reflect.Method.invoke(Method.java:491)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
08-05 14:47:03.428: E/AndroidRuntime(1915):     at dalvik.system.NativeStart.main(Native Method)

解决方案

lin.setOnClickListener(new OnClickListener()
{
    public void onClick(View v)
    {

       Intent i = new Intent(versionActivity.this, secondActivity.class);     
       startActivity(i);
       finish(); //should use the finish if you need to preserve memory
                 //other wise don't use it.
    }

});

SECOND STEP: AndroidManifest.xml

<activity  android:name=".secondActivity">
     <intent-filter>
        <action android:name="android.intent.action.MAIN" />                   
     </intent-filter>
</activity>

这篇关于从一个活动转移到另一个机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆