我正在使用解析,而且我是Android开发的初学者。单击login_button时我需要启动MainActivity。但是当我将我的MainActivity类添加到LoginSampleActivity中的解析登录构建器时,它显示,' MainActivity不是一个封闭的类'错误。
这是我的MainActivity
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
这是LoginSampleActivity
public class LoginSampleActivity extends Activity{
这是我的按钮点击事件
loginOrLogoutButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (currentUser != null) {
ParseUser.logOut();
currentUser = null;
showProfileLoggedOut();
} else {
Toast.makeText(getBaseContext(),"Login",Toast.LENGTH_SHORT).show();
ParseLoginBuilder loginBuilder = new ParseLoginBuilder(
MainActivity.this);
startActivityForResult(loginBuilder.build(), LOGIN_REQUEST);
}
}
});
这是我的清单文件
<activity
android:name=".LoginSampleActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar">
</activity>
由于
答案 0 :(得分:3)
它不是名称“MainActivity或FirstActivity”。检查清单文件。
<activity
android:name=".first"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.**LAUNCHER**" />
</intent-filter>
</activity>
答案 1 :(得分:1)
问题出在以下几行:
ParseLoginBuilder loginBuilder = new ParseLoginBuilder(
MainActivity.this);
而不是 MainActivity.this 我想你想写 MainActivity.class 。
编译错误表示 LoginSampleActivity 未扩展 MainActivity ,因此您无法在 LoginSampleActivity中使用 MainActivity.this
答案 2 :(得分:0)
感谢您的回答。我找到了解决问题的方法。问题出在ParseLoginBuilder类中。因此,我创建了一个名为MainActivityBuider的新类,并将build()方法添加到该类中。现在它正在运作。再次感谢您的回答。 @Marek @Rathna