Intent不会重定向到其他活动

时间:2014-09-14 14:41:55

标签: android android-intent

我有两项活动"数据"和" OpenedClass"当我创建一个意图将我重定向到另一个活动时,它不起作用

数据活动

package com.example.androidapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Data extends Activity implements OnClickListener {

    EditText sendET;
    Button start,startFor;
    TextView gotAnswer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.get);
    }

    private void initialize()
    {
        sendET= (EditText) findViewById(R.id.etSend);
        startFor = (Button) findViewById(R.id.bSAFR);
        start = (Button) findViewById(R.id.bSA);
        gotAnswer = (TextView) findViewById(R.id.tvGot);
        start.setOnClickListener(this);
        startFor.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.bSA:

            String bread = sendET.getText().toString();
            Bundle basket = new Bundle();
            basket.putString("key", bread);
            Intent a = new Intent(Data.this,OpenedClass.class);
            a.putExtras(basket);
            startActivity(a);

            break;
        case R.id.bSAFR:

            break;


        }

    }

}

并打开课堂活动

package com.example.androidapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;

public class OpenedClass extends Activity implements OnClickListener , OnCheckedChangeListener {

    TextView question , test;
    Button returnData;
    RadioGroup selection;
    String gotBread;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.send);
        initialize();
        Bundle b = getIntent().getExtras();
        gotBread = b.getString("key");
        question.setText(gotBread);

    }

    private void initialize()
    {
        question= (TextView) findViewById(R.id.tvQuestion);
        test = (TextView) findViewById(R.id.tvText);
        returnData = (Button) findViewById(R.id.bReturn);
        selection = (RadioGroup) findViewById(R.id.rgAnswers);
        returnData.setOnClickListener(this);
        selection.setOnCheckedChangeListener(this);


    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        switch (checkedId) {
        case R.id.rCrazy:

            break;

        case R.id.rSerious:

            break;

        case R.id.rBoth:

            break;

        }
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }
}

这是清单

<activity
            android:name=".Data"
            android:label="@string/app_name" >
        </activity>

        <activity
            android:name=".OpenedClass"
            android:label="@string/app_name" >
        </activity>

按钮没有将我重定向到第二个活动,请帮助我

3 个答案:

答案 0 :(得分:0)

Data活动

中尝试此操作
Intent intent = new Intent(mContext, OpenedClass.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtras(basket);
mContext.startActivity(intent);

mContext活动中将Data定义为:

private Context mContext;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mContext = this;
    initialize();
    // Other codes here.
}

答案 1 :(得分:0)

您忘记在initialize setContentView之后致电Data Activity方法,因此Listener's未在Button's上注册。像:

public class Data extends Activity implements OnClickListener {

    EditText sendET;
    Button start,startFor;
    TextView gotAnswer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.get);

        initialize();
    }

    // Rest of your code...
}

答案 2 :(得分:-2)

在您的数据活动中,您的initialize()没有调用。