Android的ActionBarSherlock在顶部图标返回(Android ActionBar

2019-07-31 04:05发布

我试图让我的首要行动栏图标,允许用户回到前一屏幕。 我试图执行这些代码。 但没有一个是工作。 任何人都可以请指导我在此。 我知道这看起来很简单,我是新来的机器人。 下面是我的代码。

问题:当我的图标按钮,点击它只是清除我的屏幕没有去到上一画面。

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view_item);
        checkInternetConnection();

        getSupportActionBar().setDisplayHomeAsUpEnabled(true); //<--THIS




@Override
public boolean onOptionsItemSelected(MenuItem item) 
{    
   switch (item.getItemId()) 
   {        
      case android.R.id.home:            
         Intent intent = new Intent(this, SingleViewActivity.class);            
         intent.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME); 
         startActivity(intent);            
         return true;        
      default:            
         return super.onOptionsItemSelected(item);    
   }
}

Answer 1:

这是我做的方式:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        // app icon in action bar clicked; go home
        Intent intent = new Intent(this, main.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        break;
    }
    return true;
}


Answer 2:

在您的ressources(RES),进入菜单,然后添加本作河畔u有一些按钮回来在你的绘制

<?xml version="1.0" encoding="utf-8"?>

<item
    android:id="@+id/back"
    android:icon="@drawable/back1"
    android:showAsAction="always|withText"
    android:title="back"/>

现在在你的活动

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        break;
    case R.id.back:
        Intent in = new Intent(this, <classname which you want to go back>.class);
        startActivity(in);
        break;
    }
    return false;
}


Answer 3:

您可以尝试这个代码

<item
    android:id="@+id/back"
    android:icon="@drawable/btn_back"
    android:showAsAction="always|withText"
    android:title="@string/txt_back"/>

>

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    // TODO Auto-generated method stub
    getSupportMenuInflater().inflate(R.menu.home, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    // TODO Auto-generated method stub
    //return super.onOptionsItemSelected(item);
    switch (item.getItemId()) 
    {
        case R.id.back:
                back_action();
            return true;

        default:
            break;
    }
    return true;
}

>



文章来源: Android ActionBarSherlock On Top Icon Back