请解决此错误:

时间:2014-01-29 09:15:19

标签: android sharedpreferences

我无法使用Intent启动Main Activity。我在此代码的末尾提到了错误。我该如何解决这个错误?

Activity类型中的方法startActivity(Intent)不是 适用于参数(意图)

package com.example.rishabhsintent;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Intent extends Activity {
Button b;
EditText e;
TextView t;
SharedPreferences.Editor spe;
SharedPreferences sp;

public Intent(Intent intent, Class<MainActivity> class1) {
    // TODO Auto-generated constructor stub
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_intent);
    spe = sp.edit();
    b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            spe.putString("Message", e.getText().toString());
            spe.commit();
            startActivity(new Intent(Intent.this, MainActivity.class));

        }//Error on startActivity;it says"The method startActivity(Intent) in the type Activity is not applicable for the arguments (Intent)"

    });
}

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

6 个答案:

答案 0 :(得分:2)

您选择的Activity非常奇怪的名字。尝试像这样创建Intent

new android.content.Intent(Intent.this, MainActivity.class);

答案 1 :(得分:0)

除了@FD_所写的内容之外,你正在通过startActivity()方法调用你自己的类的构造函数,这没有任何意义:首先,因为构造函数不打算以这种方式使用,其次是因为构造函数没有回报。只需更改您的班级名称并声明“真正的”意图。

答案 2 :(得分:0)

它应该是活动的名称。 Intent是Android的保留类,不应该用于您的类。在行startActivity(new Intent(Intent.this, MainActivity.class));中,名称Intent不是唯一的,您必须知道使用了哪个类。

答案 3 :(得分:0)

Intent intenet = new Intent(Intent.this, MainActivity.class);
startActivity(intenet);

答案 4 :(得分:0)

首先将您的活动定义到AndroidManifest.xml文件

例如:

 <activity android:name="YourPackage.MainActivity">
 </activity>

第二次开始您的活动:

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

答案 5 :(得分:0)

不要将Intent用作类名。它是android中的保留类,否则android会混淆并认为你引用的是意图而不是你的类。最好选择一个独特的名称。