2013-05-01 3 views
0

В этом приложении только после вычисления/выполнения действия onClick вы получаете еще одну кнопку для перехода пользователей в другое действие.Управление намерениями между страницами

Предположим, например, у меня есть два вида деятельности Activity_A и Activity_B. После размещения запроса в Activity_A я получаю возможность перейти к Activity_B. В Activity_B я использую навигационную функцию Android, где у меня возникает проблема с возвратом к моей Activity_A. Запросы, помещенные в Activity_A, прежде чем я перешел на Activity_B, не отображаются, вместо этого Activity_A запускается как новое действие.

кода, который я использую:

Вот ссылки на Activity_B Я использую слушатель OnClick:

view_directions.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent intent = new Intent(MainActivity.this,DirectionsView.class); 
      Bundle extras = new Bundle(); 
      extras.putString("LOCATION", location.getText().toString()); 
      extras.putString("DESTINATION", destination.getText().toString()); 
      intent.putExtras(extras); 
      intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP); 
      startActivity(intent); 

     } 
    }); 

Я тоже попробовать это удалением addFlags вещи.

В Activity_B

public boolean onOptionsItemSelected(MenuItem item){ 
     switch(item.getItemId()) 
     { 
     case android.R.id.home: 
      Intent intent = new Intent(this, MainActivity.class); 
      startActivity(intent); 
      break; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

Я также попробовать использовать addFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP) здесь, но результат, что я ищу не достигается.

Проще говоря, когда я обращаюсь к Activity_A из Activity_B, Activity_A должен сохранить ранее созданные запросы.

файл манифеста для приложения:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.calculator_taxi_fare" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

    <application 
     android:allowBackup="true" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.Sherlock.Light"> 
     <activity 
      android:name="com.example.calculator_taxi_fare.MainActivity" 
      android:configChanges="keyboardHidden|orientation" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.example.calculator_taxi_fare.functions.Preferences" 
      android:label="@string/app_name" 
      android:configChanges="keyboardHidden|orientation" > 
      <intent-filter> 
       <action android:name="android.intent.action.PREF" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".DirectionsView" 
      android:label="@string/app_name" 
      android:configChanges="keyboardHidden|orientation" > 
      <intent-filter> 
       <action android:name="com.example.calculator_taxi_fare.DIRECTIONS" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 
+0

вы можете вставить вам файл манифеста? –

+0

@AmitHooda проверь его! –

+0

Вы можете попробовать простой slution, я предложил –

ответ

2

Вы можете попробовать это:

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     case android.R.id.home: 
       finish(); 
       break; 
    } 
    return super.onOptionsItemSelected(item); 
}  

Это вернет обратно в activity_A и новый activity_A не будет запущен, но вы вернуться к старому один.

+0

очень просто поставить человека ... я чувствую себя как тупица сейчас ... спасибо, человек, действительно помог мне. –

1

Существует более простое решение в файле манифеста набор noHistory = верно в определении активности

<activity 
       android:name="com.bla.bla.A_Activity" 
       android:label="@string/app_name" 
       **android:noHistory="true"** 
       android:theme="@style/AppThemeNoTitleBar" > 
</activity> 

Это удалит A_Activity из стека активности автоматически

Смежные вопросы