如何在 activity 的 Android 中使用 Intent?
How to use Intent in Android from activity?
我在尝试使用意图从 Android 中的 OnItemClicked 移动时遇到问题。我在许多网站上搜索了解决方案,但我仍然不断收到错误。我想要做的是在按下 navigationDrawers 按钮时从 MenuActivity 转到 MainActivity "Home"。
这是我的示例代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
menu = new String[]{"Home","And","Win","nux","berry P","Word","Vis","Co"};
dLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
dList = (ListView) findViewById(R.id.left_drawer);
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menu);
dList.setAdapter(adapter);
dList.setSelector(android.R.color.holo_blue_dark);
dList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
dLayout.closeDrawers();
Bundle args = new Bundle();
Fragment detail = null;
args.putString("Menu", menu[position]);
if(menu[position].equals("Home")){
Intent i = new Intent(MenuActivity.this,MainActivity.class);
startActivity(i);
finish();
}else{
detail = new DetailFragment();
}
detail.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, detail).commit();
}
});
finish()
不会立即退出,因此如果您不在它之后调用 return,将执行剩余的代码。试试这个:
if (menu[position].equals("Home")) {
Intent i = new Intent(MenuActivity.this, MainActivity.class);
startActivity(i);
finish();
return;
} else {
detail = new DetailFragment();
}
我在尝试使用意图从 Android 中的 OnItemClicked 移动时遇到问题。我在许多网站上搜索了解决方案,但我仍然不断收到错误。我想要做的是在按下 navigationDrawers 按钮时从 MenuActivity 转到 MainActivity "Home"。
这是我的示例代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
menu = new String[]{"Home","And","Win","nux","berry P","Word","Vis","Co"};
dLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
dList = (ListView) findViewById(R.id.left_drawer);
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menu);
dList.setAdapter(adapter);
dList.setSelector(android.R.color.holo_blue_dark);
dList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
dLayout.closeDrawers();
Bundle args = new Bundle();
Fragment detail = null;
args.putString("Menu", menu[position]);
if(menu[position].equals("Home")){
Intent i = new Intent(MenuActivity.this,MainActivity.class);
startActivity(i);
finish();
}else{
detail = new DetailFragment();
}
detail.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, detail).commit();
}
});
finish()
不会立即退出,因此如果您不在它之后调用 return,将执行剩余的代码。试试这个:
if (menu[position].equals("Home")) {
Intent i = new Intent(MenuActivity.this, MainActivity.class);
startActivity(i);
finish();
return;
} else {
detail = new DetailFragment();
}