나는 추상적 내 모델 : MainActivity에서 다음
Android에서이 애플리케이션 컨텍스트를 사용하는 데있어 잘못된 점은 무엇입니까? 이 같은
public class UserInfo extends Application{
private int userid;
public void setUserId(int id)
{
userid=id;
}
public int getUserId()
{
return userid;
}
}
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
userinfo=(UserInfo)getApplication();
userinfo.setUserId(1354);
....
Intent intent=new Intent(MainActivity.this,VoteActivity.class);
startActivity(intent);
}
public
@Override void onResume()
{
super.onResume();
TextView text=(TextView)MainActivity.this.findViewById(R.id.usernameText);
text.setText(userinfo.getUserId()+" ");
}
그리고 VoteActivity에 :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vote);
userinfo=(UserInfo)getApplication();
Button back=(Button)findViewById(R.id.backButton);
back.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
userinfo.setUserId(-100);
Intent intent=new Intent(VoteActivity.this,MainActivity.class);
startActivity(intent);
}});
}
첫 번째 사용자 정보를 보유하는 클래스
UserInfo
있다
결과는 다음과 같습니다. MainActivity를 처음 실행하면 UserInfo의 userid는 1354입니다. 그리고 VoteActivity가 처음 실행될 때 UserInfo의 userid도 1354입니다. 그러나 VoteAcitivy 사용자 아이디에서 MainActivity로 돌아 가면 1354가 -100이어야합니다.이 응용 프로그램 컨텍스트의 사용에는 어떤 문제가 있습니까?
Intent intent=new Intent(VoteActivity.this,MainActivity.class);
startActivity(intent);
을 그리고 당신은 MainActivity에 ID를 설정 대해 직접 :
두 개의 ''요소를 보여주는 매니페스트를 게시하십시오. –
CommonsWare