4

ユーザーが前の画面に戻れるように、上部のアクションバーアイコンを作成しようとしています。私はこれらのコードを実装しようとしました。しかし、どれも機能していません。誰かがこれについて私を案内してくれますか?私はこれが単純に見えることを知っています、私はアンドロイドに不慣れです。以下は私のコードです。

問題:アイコンボタンをタップすると、前の画面に移動せずに画面がクリアされました。

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);    
   }
}
4

3 に答える 3

17

これは私がそれをする方法です:

@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;
}
于 2012-08-24T08:15:25.443 に答える
2

あなたのリソース(res)でメニューに行き、これを追加して、あなたのドローアブルにいくつかのボタンを戻してください

<?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;
}
于 2012-08-24T08:18:35.020 に答える
0

このコードを試すことができます

<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;
}

>>

于 2014-03-20T15:17:05.267 に答える