Reputation:
Can a class have getExtra and putExtra at the same time? Suppose, Class 1 passes data to Class 2. Class 2 passes data to Class 3. How am I suppose to get Class 2 working?
Class 1
public static final String EXTRA_RADIO="com.example.flash.Mode";
int btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bP= (Button)findViewById(R.id.btnP);
Button bT= (Button)findViewById(R.id.btnP);
final Intent intent = new Intent(Main.this, Mode.class);
bP.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
btn=1;
intent.putExtra(EXTRA_RADIO, btn);
startActivity(intent);
}
});
bT.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
btn=2;
intent.putExtra(EXTRA_RADIO, btn);
startActivity(intent);
}
});
}
Class 2
int mode;
int op;
public static final String EXTRA_OP = "com.example.flash.Operator";
public void onStart(){
super.onStart();
mode = getIntent().getIntExtra(Main.EXTRA_RADIO, 0);
setContentView(R.layout.mode);
if (mode==1){
m.setText("Practice");
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//codes
op=1;
}
});
}
if (mode==2){
m.setText("Trial");
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//codes
op=2;
}
});
}
Intent intent = new Intent(Mode.this, Operator.class);
intent.putExtra(EXTRA_OP, op);
startActivity(intent);
}
Then class 3 gets op from class 2. My class 2 doesn't work.
Upvotes: 0
Views: 61
Reputation: 1655
Try adding @Override
for your onStart in Class 2.
Can a class have getExtra and putExtra at the same time?
Yes. Looks like you are using getExtra
and putExtra
for different intent
.
Upvotes: 1