使用多个Android活动

时间:2015-10-14 08:06:35

标签: android android-activity

任何人都可以帮我调试我出错的地方。测试代码可能来自:

https://drive.google.com/file/d/0Bz1lc03pNQm6Qkw3bE93dWxjdXc/view?usp=sharing

情景,我有3 activities 主菜,飞溅和菜单。首先我在5秒后调用Splash活动5秒钟我调用菜单活动它从菜单中无法工作我想调用主要活动。如果我跳过菜单活动而不是工作正常。

启动活动

public class Splash extends Activity{
    MediaPlayer ourSong;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
        ourSong = MediaPlayer.create(Splash.this, R.raw.dj);
        ourSong.start();
        Thread timer = new Thread()
        {
            public void run()
            {
                try 
                {
                    sleep(5000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
                finally
                {
                Intent start = new Intent("com.example.test.menu");
                startActivity(start);
                }
            }
        };
        timer.start();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        ourSong.release();
        finish();
    }


}

菜单活动

public class menu extends ListActivity{

    String classes[] = {"MainActivity", "example1", "example1", "example1", "example1"}; 
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(menu.this, android.R.layout.simple_list_item_1, classes));
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        String cheese = classes[position];
        try
        {
        Class ourclass = Class.forName("com.example.test."+cheese);
        Intent ourIntent = new Intent(menu.this, ourclass);
        startActivity(ourIntent);
        }
        catch(ClassNotFoundException e)
        {
                e.printStackTrace();
        }

    }



}

主要活动

public class MainActivity extends Activity {

    int counter;
    Button add, subtruct;
    TextView textarea;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        counter = 0 ;
        add = (Button)findViewById(R.id.button1);
        subtruct = (Button)findViewById(R.id.button2);
        textarea = (TextView)findViewById(R.id.textView1);
        add.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                counter++;
                textarea.setText("Your total is"+counter);

            }
        });
        subtruct.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                counter--;
                textarea.setText("Your total is"+counter);

            }
        });
    }


}

1 个答案:

答案 0 :(得分:0)

您的代码:

Thread timer = new Thread()
    {
        public void run()
        {
            try 
            {
                sleep(5000);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            finally
            {
            Intent start = new Intent("com.example.test.menu");
            startActivity(start);
            }
        }
    };
    timer.start();

正确的代码:

Thread timer = new Thread()
    {
        public void run()
        {
            try 
            {
                sleep(5000);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            finally
            {
            Intent start = new Intent(Splash.this, menu.class);
            startActivity(start);
            }
        }
    };
    timer.start();

提示:不要将lowerCase用于班级名称

相关问题