导入android.content.Context后无法解析上下文;也

时间:2015-03-30 04:55:26

标签: java android android-context

这是我的mainactivity.java班级

package com.example.apurva.therisingsatyam;

import android.os.Bundle;
import android.content.Context;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.content.Intent;

public class MainActivity extends ActionBarActivity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    public void onClick(View v) {

        switch (v.getId()) {
            case R.id.button:
                Intent intent = new Intent(context, LogIn.class);
                startActivity(intent);
                break;
            case R.id.button2:
                Intent intent1 = new Intent(context, SignUp.class);
                startActivity(intent1);
                break;
        }
    }
}

我正在尝试在单击按钮时切换活动。但是在上面的代码中可以看到,在onClick方法的两个位置的上下文单词下面都有一条红线,尽管我已经导入了android.content.context。请有人帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

context未声明和初始化

更改此

Intent intent = new Intent(context, LogIn.class);

Intent intent = new Intent(MainActivity.this, LogIn.class);

同样适用于其他意图

您的MainActivity扩展了活动

java.lang.Object
   ↳    android.content.Context
       ↳    android.content.ContextWrapper
           ↳    android.view.ContextThemeWrapper
               ↳    android.app.Activity

因此,要获得上下文,您可以MainActivity.this

此外,我看不到您在哪里初始化您的观点,而Activity未实现OnClickListener界面

答案 1 :(得分:1)

上下文未由您声明,因此我建议您使用以下代码行:

Intent intent = new Intent(MainActivity.this, LogIn.class);//MainActivity.this contains your current context
startActivity(intent);

然后还有任何疑问随便问。