user1994020
user1994020

Reputation:

Android passing and retrieving data

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

Answers (1)

melvynkim
melvynkim

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

Related Questions