问题包含,“onClick”和getIntExtra

时间:2011-03-14 16:28:01

标签: java android

我遇到了解决这个问题的问题,这是我想要的:一个onClickListener,它将获得收音机的状态并返回一个祝酒词。但是我搞砸了某个地方。我有意图的问题,任何人都可以对此有所了解吗?意图无法解决。 (是的,我显然已经导入了它。)这就是我所拥有的:

public class MainActivity extends Activity {
protected Intent intent;
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button check = (Button)findViewById(R.id.Button01);
    check.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View v){
            getIntent();
            int state= intent.getIntExtra(TelephonyManager.EXTRA_STATE, -1);
            String msg=null;
                    switch (state) {
            case TelephonyManager.NETWORK_TYPE_1xRTT:
                Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
                break;
        }
    }

    });
}

}

2 个答案:

答案 0 :(得分:1)

您不存储getIntent()返回的值。这样更好:

public void onClick(View v){
        intent = getIntent();
        int state= intent.getIntExtra(TelephonyManager.EXTRA_STATE, -1);

答案 1 :(得分:0)

不要忘记致电show()
manual

例如

Toast toast = Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT);
toast.show();

另一件事确实在这一行

int state=intent.getIntExtra(TelephonyManager.EXTRA_STATE, -1);

这里的“意图”是什么?它是在课堂上的某个地方宣布的吗?

你在评论中说你在这一行中获得了一个强制关闭。它是一个nullpointer?您是否需要在某个地方拨打getIntent()?是'意图'初始化了吗?