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