나는 을 가지고 있습니다. 작업 항목에 작업 표시 줄에 옵션을 입력하고 아래 옵션을 확장하여 모든 액티비티에 해당 옵션을 표시하도록 설정합니다. 사용자가 정보를 입력하면백 스택에있는 액티비티 새로 고침
public abstract class ActionActivity extends SherlockActivity {
protected boolean mIsEnterDetailsScreen = true;
protected userName = "";
SessionManager session;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(mIsEnterDetailsScreen)
{
menu.add("Enter Your Details")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
else
{
menu.add(userName)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//This uses the imported MenuItem from ActionBarSherlock
switch(item.getItemId())
{
case 0:
Intent intent = new Intent(ActionActivity.this,EnterDetails.class);
startActivity(intent);
return true;
}
return false;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
session = new SessionManager(getApplicationContext());
sessionCheck(); // This method's body is separated for the easiness and pasted below.
super.onCreate(savedInstanceState);
getSupportActionBar().setHomeButtonEnabled(true);
}
}
그래서, 위의 코드에 의해,이 옵션은 자신의 입력 사항에서 가져온 보이지과 사용자 이름이 될 것이라고 그래서 mIsEnterDetailsScreen = false;
설정 환경 설정에서 동시에 그것을 저장하고 것 눈에 보인다. 이것은 나중에 시작되는 활동에만 유효합니다. 그러나 이전 활동에는 없었습니다. 그래서, 내 의심은 어떻게 다시 스택에있는 활동을 새로 고치는 것입니다. 다시 버튼을 눌러도 username
이 표시된 후 이전 활동에도 표시되어야합니다. 세부 사항을 입력하십시오. 옵션을 입력하십시오.
사용자가 클릭하면 3 번째 활동의 세부 항목을 입력하고 변경 사항은 이후 활동 (4, 5, 6 ....)에 반영되지만 1 차 활동 및 2 차 활동에는 반영되지 않습니다. 변경 사항이 지속되도록 활동을 새로 고치는 방법이 있습니까?
이 첫 번째 활동에 대한 재정의 방법을 onRefresh 구현해야한다 ActionActivity
public void sessionCheck()
{
if(session.isLoggedIn())
{
mIsEnterDetailsScreen = false;
HashMap<String, String> userHashMap = session.getUserDetails();
// name
String name = userHashMap.get(SessionManager.KEY_USER_NAME);
userName = name;
}
else{
mIsEnterDetailsScreen = true;
}
}
미안하지만, 나는 당신을 얻지 못했습니다. 나는 변화가 현재 활동에도 반영되기를 바란다. – rick
예. 가능합니다. 이전 활동에서 onRefresh 메소드를 작성하십시오. 메시지를 건배하려면 코드를 넣으십시오. 이제 앱을 실행하고 확인하십시오. 다음 활동에서 이전 활동으로 되돌아 오는 동안 토스트 디스플레이가 표시됩니다. 희망을 얻었 으면합니다. –