android - RuntimeException:java.lang.IllegalAccessException:无法从类 android.app.Instrumentation 访问类 TuserActivity
问题描述
首先,我是android的初学者。我正在使用 firebase 开发一个简单的登录应用程序,当我运行我的代码时,我遇到了这个运行时异常。我正在使用电话号码身份验证,应用程序安装成功,但我无法进入 TuserActivity 谁能告诉我如何解决这个问题?
java.lang.RuntimeException:无法实例化活动 ComponentInfo{TuserActivity}:java.lang.IllegalAccessException:类 TuserActivity 无法从类 android.app.Instrumentation 访问
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
public EditText emailId, passwd;
Button btnSignUp;
TextView signIn,txuser;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firebaseAuth = FirebaseAuth.getInstance();
emailId = findViewById(R.id.ETemail);
passwd = findViewById(R.id.ETpassword);
btnSignUp = findViewById(R.id.btnSignUp);
signIn = findViewById(R.id.TVSignIn);
txuser = findViewById(R.id.tuser);
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emailID = emailId.getText().toString();
String paswd = passwd.getText().toString();
if (emailID.isEmpty()) {
emailId.setError("Enter your E-mail");
emailId.requestFocus();
} else if (paswd.isEmpty()) {
passwd.setError("Enter your password");
passwd.requestFocus();
} else if (emailID.isEmpty() && paswd.isEmpty()) {
Toast.makeText(MainActivity.this, "Fields Empty!", Toast.LENGTH_SHORT).show();
} else if (!(emailID.isEmpty() && paswd.isEmpty())) {
firebaseAuth.createUserWithEmailAndPassword(emailID, paswd).addOnCompleteListener(MainActivity.this, new OnCompleteListener() {
@Override
public void onComplete(Task task) {
if (!task.isSuccessful()) {
Toast.makeText(MainActivity.this.getApplicationContext(),
"SignUp unsuccessful: " + task.getException().getMessage(),
Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(MainActivity.this, UserActivity.class));
}
}
});
} else {
Toast.makeText(MainActivity.this, "Error", Toast.LENGTH_SHORT).show();
}
}
});
signIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent I = new Intent(MainActivity.this, Activity_Login.class);
startActivity(I);
}
});
txuser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent I = new Intent(MainActivity.this, TuserActivity.class);
startActivity(I);
}
});
}
}
显现:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".Activity_Login"></activity> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> <activity android:name=".MapsActivity"></activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".UserActivity" /> <activity android:name=".VerifyPhoneActivity" /> <activity android:name=".TuserActivity" /> </application>
解决方案
它只是发生在我身上。我忘记使用public
修饰符将我的活动(在您的情况下为 TuserActivity)设置为公开。似乎 Android 无法访问未明确公开的 java Activity。例如:
public class TuserActivity extends AppCompatActivity
另外,如果你是 2020 年的 Android 新手,那么你真的应该考虑从 Kotlin 开始。
推荐阅读
- python - WinError 10060 连接尝试失败,因为连接方没有正确响应
- sql - 如何计算所有行的总数并显示为列?
- javascript - 带 css 的引导类
- javascript - ajax数据表不会调用php文件,尝试了多种解决方案都不起作用
- c# - 在 Unity C# 中创建一个全局函数
- c++ - -bash:./a.out:无法执行二进制文件:执行格式错误
- c# - 如何在 HTTP 和 HTTPS 中侦听自托管 Azure 中继端点?
- c# - WebAPI 返回 Class 或 Error 的方法类型
- linux - 十六进制转储到二进制数据转换
- java - TableView 列未正确更新可观察列表