Android传递和检索数据

时间:2013-01-20 04:20:23

标签: android android-intent

一个类可以同时使用getExtra和putExtra吗? 假设,Class 1将数据传递给Class 2. Class 2将数据传递给Class 3。 我怎么想让2级工作?

第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);
        }
    });
 }

第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);
}

然后第3课从第2课获得操作。我的第2课不起作用。

1 个答案:

答案 0 :(得分:1)

尝试在 Class 2 中为onStart添加@Override

  

一个类可以同时使用getExtra和putExtra吗?

是。您似乎正在使用getExtraputExtra来表示不同的intent