Application stops but there is no error
这是该错误的新记录,我不明白它的含义,我似乎无法弄清楚该错误
11-25 15:56:18.773 6776-6776 / com.example.ghost.prochat E / UncaughtException:java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.ghost.prochat / com.example。 ghost.prochat.MainActivity}:android.view.InflateException:二进制XML文件第2行:膨胀类错误
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204)
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
在android.app.ActivityThread.access $ 600(ActivityThread.java:141)
在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)
在android.os.Handler.dispatchMessage(Handler.java:99)
在android.os.Looper.loop(Looper.java:137)
在android.app.ActivityThread.main(ActivityThread.java:5069)
在java.lang.reflect.Method.invokeNative(本机方法)
在java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
在dalvik.system.NativeStart.main(本机方法)
原因:android.view.InflateException:二进制XML文件第2行:膨胀类错误
在android.view.LayoutInflater.createView(LayoutInflater.java:613)
在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
在android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
在android.view.LayoutInflater.inflate(LayoutInflater.java:466)
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
在android.view.LayoutInflater.inflate(LayoutInflater.java:352)
在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
在com.example.ghost.prochat.MainActivity.onCreate(MainActivity.java:56)
在android.app.Activity.performCreate(Activity.java:5104)
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)吗?
在android.app.ActivityThread.access $ 600(ActivityThread.java:141)吗?
在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)吗?
在android.os.Handler.dispatchMessage(Handler.java:99)吗?
在android.os.Looper.loop(Looper.java:137)吗?
在android.app.ActivityThread.main(ActivityThread.java:5069)吗?
在java.lang.reflect.Method.invokeNative(本机方法)?
在java.lang.reflect.Method.invoke(Method.java:511)吗?
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)吗?
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)吗?
在dalvik.system.NativeStart.main(Native Method)吗?
造成原因:java.lang.reflect.InvocationTargetException
在java.lang.reflect.Constructor.constructNative(本机方法)
在java.lang.reflect.Constructor.newInstance(Constructor.java:417)
在android.view.LayoutInflater.createView(LayoutInflater.java:587)
在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)吗?
在android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)吗?
在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:466)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:352)吗?
在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)吗?
在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)吗?
在com.example.ghost.prochat.MainActivity.onCreate(MainActivity.java:56)吗?
在android.app.Activity.performCreate(Activity.java:5104)吗?
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)吗?
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)吗?
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)吗?
在android.app.ActivityThread.access $ 600(ActivityThread.java:141)吗?
在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)吗?
在android.os.Handler.dispatchMessage(Handler.java:99)吗?
在android.os.Looper.loop(Looper.java:137)吗?
在android.app.ActivityThread.main(ActivityThread.java:5069)吗?
在java.lang.reflect.Method.invokeNative(本机方法)?
在java.lang.reflect.Method.invoke(Method.java:511)吗?
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)吗?
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)吗?
在dalvik.system.NativeStart.main(Native Method)吗?
原因:java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x1
在android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
在android.view.View。(View.java:3340)
在android.view.ViewGroup。(ViewGroup.java:431)
在android.widget.LinearLayout。(LinearLayout.java:176)
在android.widget.LinearLayout。(LinearLayout.java:172)
在java.lang.reflect.Constructor.constructNative(本机方法)?
在java.lang.reflect.Constructor.newInstance(Constructor.java:417)吗?
在android.view.LayoutInflater.createView(LayoutInflater.java:587)吗?
在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)吗?
在android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)吗?
在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:466)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)吗?
在android.view.LayoutInflater.inflate(LayoutInflater.java:352)吗?
在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)吗?
在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)吗?
在com.example.ghost.prochat.MainActivity.onCreate(MainActivity.java:56)吗?
在android.app.Activity.performCreate(Activity.java:5104)吗?
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)吗?
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)吗?
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)吗?
在android.app.ActivityThread.access $ 600(ActivityThread.java:141)吗?
在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)吗?
在android.os.Handler.dispatchMessage(Handler.java:99)吗?
在android.os.Looper.loop(Looper.java:137)吗?
在android.app.ActivityThread.main(ActivityThread.java:5069)吗?
在java.lang.reflect.Method.invokeNative(本机方法)?
在java.lang.reflect.Method.invoke(Method.java:511)吗?
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)吗?
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)吗?
在dalvik.system.NativeStart.main(Native Method)?
我的mainActivity如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | public class MainActivity extends AppCompatActivity implements View.OnClickListener { //defining view objects private EditText editTextEmail; private EditText displayUsername; private EditText editTextPassword; private Button buttonSignup; private TextView textViewSignin; private ProgressDialog progressDialog; //defining firebaseauth object private FirebaseAuth firebaseAuth; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private GoogleApiClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //initializing firebase auth object firebaseAuth = FirebaseAuth.getInstance(); //if getCurrentUser does not returns null if (firebaseAuth.getCurrentUser() != null) { //that means user is already logged in //so close this activity finish(); //and open profile activity startActivity(new Intent(getApplicationContext(), ProfileActivity.class)); } //initializing views editTextEmail = (EditText) findViewById(R.id.editTextEmail); displayUsername = (EditText) findViewById(R.id.displayUsername); editTextPassword = (EditText) findViewById(R.id.editTextPassword); textViewSignin = (TextView) findViewById(R.id.textViewSignin); buttonSignup = (Button) findViewById(R.id.buttonSignup); progressDialog = new ProgressDialog(this); //attaching listener to button buttonSignup.setOnClickListener(this); textViewSignin.setOnClickListener(this); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); } private void registerUser() { //getting email and password from edit texts String email = editTextEmail.getText().toString().trim(); String password = editTextPassword.getText().toString().trim(); //checking if email and passwords are empty if (TextUtils.isEmpty(email)) { Toast.makeText(this,"Please enter email", Toast.LENGTH_LONG).show(); return; } if (TextUtils.isEmpty(password)) { Toast.makeText(this,"Please enter password", Toast.LENGTH_LONG).show(); return; } //if the email and password are not empty //displaying a progress dialog progressDialog.setMessage("Registering Please Wait..."); progressDialog.show(); //creating a new user firebaseAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { //checking if success if (task.isSuccessful()) { finish(); final FirebaseUser user = task.getResult().getUser(); UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setDisplayName(String.valueOf(displayUsername)) .setPhotoUri(Uri.parse("https://example.com/jane-q-user/profile.png")) .build(); user.updateProfile(profileUpdates); FirebaseDatabase.getInstance().getReference("users").child(user.getUid()).setValue(UserList.user); startActivity(new Intent(getApplicationContext(), ProfileActivity.class)); } else { //display some message here Toast.makeText(MainActivity.this,"Registration Error", Toast.LENGTH_LONG).show(); } progressDialog.dismiss(); } }); } @Override public void onClick(View view) { if (view == buttonSignup) { registerUser(); } if (view == textViewSignin) { //open login activity when user taps on the already registered textview startActivity(new Intent(this, LoginActivity.class)); } } /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ public Action getIndexApiAction() { Thing object = new Thing.Builder() .setName("Main Page") // TODO: Define a title for the content shown. // TODO: Make sure this auto-generated URL is correct. .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]")) .build(); return new Action.Builder(Action.TYPE_VIEW) .setObject(object) .setActionStatus(Action.STATUS_TYPE_COMPLETED) .build(); } @Override public void onStart() { super.onStart(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client.connect(); AppIndex.AppIndexApi.start(client, getIndexApiAction()); } @Override public void onStop() { super.onStop(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. AppIndex.AppIndexApi.end(client, getIndexApiAction()); client.disconnect(); } } |
我的main.activity在这里,我看不到任何错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/head" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.ghost.prochat.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="User Registration" android:id="@+id/textView" android:layout_gravity="center_horizontal" /> <EditText android:id="@+id/displayUsername" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" android:hint="Username" android:inputType="textEmailAddress" /> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" android:hint="Enter email" android:inputType="textEmailAddress" /> <EditText android:id="@+id/editTextPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" android:hint="Enter password" android:inputType="textPassword" /> <Button android:id="@+id/buttonSignup" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" android:text="Signup" /> <TextView android:text="Already Registered? Signin Here" android:id="@+id/textViewSignin" android:textAlignment="center" android:layout_margin="15dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout> |
您的崩溃是由以下原因引起的:
Caused by: java.lang.UnsupportedOperationException: Can't convert to
dimension: type=0x1 at
android.content.res.TypedArray.getDimensionPixelSize
所以问题出在您的维度之一:
1 2 3 4 | android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" |
我可以猜到您使用了错误的尺寸类型,例如
以下是正确尺寸的外观:
1 | <dimen name="activity_vertical_margin">36dp</dimen> |
还请确保在此答案中提到的