我无法使用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;
}
}
答案 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会混淆并认为你引用的是意图而不是你的类。最好选择一个独特的名称。