Android 从线程启动新活动

Android 从线程启动新活动,android,multithreading,listview,Android,Multithreading,Listview,我正在运行一个带有选项的listView,当用户单击listView中的元素时,他们将重定向到一个新活动,当前活动将关闭。此代码运行,但每次跳过大约100帧。我想知道是否有一个更有效的方法来做这件事,如果我这样做是正确的。谢谢 @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { drawerLayout.closeDrawers();

我正在运行一个带有选项的listView,当用户单击listView中的元素时,他们将重定向到一个新活动,当前活动将关闭。此代码运行,但每次跳过大约100帧。我想知道是否有一个更有效的方法来做这件事,如果我这样做是正确的。谢谢

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
    drawerLayout.closeDrawers();
    switch(position){
        case 0:
            // Sets listView element selected.
            selectListViewItemLeft(position);
            new Thread() {
                public void run() {
                    try {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Intent intent = new Intent(Home_Page.this, Home_Page.class);
                                startActivity(intent);
                                finish();
                            }
                        });
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
            }.start();
            break;
        case 1:

            break;
    }
}
@覆盖
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
抽屉布局;
开关(位置){
案例0:
//设置选定的listView元素。
选择ListViewItemLeft(位置);
新线程(){
公开募捐{
试一试{
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
意向意向=新意向(Home\u Page.this,Home\u Page.class);
星触觉(意向);
完成();
}
});
}捕获(例外e){
e、 printStackTrace();
}
}
}.start();
打破
案例1:
打破
}
}

除非我误解了这个问题,否则您不需要在线程中启动新活动,您只需启动一个新活动即可:

public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
    drawerLayout.closeDrawers();
    switch(position){
        case 0:
            Intent intent = new Intent(Home_Page.this, Home_Page.class);
            startActivity(intent);
            finish();

            break;
        case 1:

            break;
    }
}
public void onItemClick(AdapterView AdapterView,视图视图,int位置,长id){
抽屉布局;
开关(位置){
案例0:
意向意向=新意向(Home\u Page.this,Home\u Page.class);
星触觉(意向);
完成();
打破
案例1:
打破
}
}

runOnUiThread不是必需的。。