2013-09-28 4 views
0

Я получаю эту ошибку, пока я пытаюсь просмотреть мои макеты в графическом макете в ADT. Проект работает нормально, и с этого сначала не было никаких проблем. Кроме того, если я запускаю новый проект и открываю XML-файл макета в графическом макете, его загрузка его прекрасна. эти XML-файл кода:Android: NullPointerException

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="@string/tot" 
    android:textSize="40sp" /> 

<Button 
    android:id="@+id/btn_Add" 
    android:layout_width="450sp" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="@string/add" /> 

<Button 
    android:id="@+id/btn_Sub" 
    android:layout_width="450sp" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="14dp" 
    android:gravity="center" 
    android:text="@string/sub" /> 

</LinearLayout> 

Logcat:

java.lang.NullPointerException 
at android.graphics.Bitmap_Delegate.nativeWidth(Bitmap_Delegate.java:296) 
at android.graphics.Bitmap.nativeWidth(Bitmap.java) 
at android.graphics.Bitmap.getWidth(Bitmap.java:917) 
at android.graphics.Bitmap.getScaledWidth(Bitmap.java:965) 
at android.graphics.drawable.BitmapDrawable.computeBitmapSize(BitmapDrawable.java:183) 
at android.graphics.drawable.BitmapDrawable.setBitmap(BitmapDrawable.java:191) 
at android.graphics.drawable.BitmapDrawable.<init>(BitmapDrawable.java:604) 
at android.graphics.drawable.BitmapDrawable.<init>(BitmapDrawable.java:114) 
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:239) 
at com.android.layoutlib.bridge.bars.CustomBar.loadIcon(CustomBar.java:212) 
at com.android.layoutlib.bridge.bars.CustomBar.loadIconById(CustomBar.java:204) 
at com.android.layoutlib.bridge.bars.CustomBar.loadIconById(CustomBar.java:171) 
at com.android.layoutlib.bridge.bars.FakeActionBar.<init>(FakeActionBar.java:38) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:347) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:333) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:451) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1545) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1059) 
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686) 
at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360) 
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774) 
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3028) 
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1749) 
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:278) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1438) 
+0

Что произойдет, если вы очистите проект? – andy256

+0

ничего такого же вопроса – Zachinio

+0

Не должна ли кнопка layout_width находиться в 'dp'? – Prince

ответ

0

Вы не можете получить сообщение об ошибке при попытке просто просматривать макет в макете графического. Эти ошибки, вероятно, были предыдущими ошибками во время выполнения, когда вы запускали свой проект или могли быть какие-то другие проекты.

Очистите свои журналы, нажав кнопку «clear-log», доступную на консоли Logcat, и все будет в порядке.

Edit 1:

Так что это не ваши ошибки LogCat (ошибки во время выполнения). Это ваши ошибки времени компиляции.

Я заметил, что вы указали жестко закодированную ширину на свою кнопку. Вероятно, это неправильный подход. Дайте ему «wrap_content». Также u не должен давать ширину & height's to views в «sp». Всегда используйте 'dp', если вам нужно. «sp» обычно предназначен для «текстового» размера шрифта. Вы можете проверить это SO link для получения дополнительной информации о sp, dp.

+0

Я пробовал это много раз .. Когда я пытаюсь открыть графический макет, это показано: java.lang.NullPointerException Сведения об исключении регистрируются в окне> Показать вид> Журнал ошибок – Zachinio

+0

изменил ширину кнопок на wrap_content, все та же ошибка – Zachinio

1

Вы правы. Я действительно сталкиваюсь с этими типами ошибок в ближайшее время. Следующее исправление работает для меня.

1) В режиме xml. Выберите весь код, скопируйте его.

2) Создайте новый файл макета. Вставить код.

3) Удалить старый файл. Переименуйте новый файл в предыдущее имя файла.

Удачи.

+0

все еще не работает – Zachinio

+1

Затем обновите свои инструменты платформы или перейдите в студию Android. – Adnan

0

Если у вас все еще есть эта проблема, щелкните правой кнопкой мыши по файлу макета и выберите вариант с помощью редактора XML, в отличие от обычного XML-редактора Android.

0

Обнаружена проблема с этим, мой xml-файл находился под подпапкой внутри drawable, Im с помощью Android Studio. Это то, что я изначально сделал:

  1. Secondary нажмите на вытяжке
  2. Новый файл
  3. Новый файл был правопреемником в xxhdpi подпапке
  4. В конце концов выберите файл XML

Это (исправление):

  1. Вторичный c облизывание в drawbable папке
  2. Новая/Drawable ресурсов
  3. Новый ресурс добавляется непосредственно к вытяжке папке

Пожалуйста, дайте мне знать, если я вам помог.

Смежные вопросы