Java android appcompat_v7错误日志猫
我已经将我的eclipse和sdk更新到了一个新版本。现在,当我创建一个新的android项目而不是一个java和一个xml文件时,我也创建了一个片段。我的问题是,为什么appcompat_v7中会出现错误。这是因为appcompat_v7,因为我的代码没有错误,为什么我不能运行应用程序。我不明白为什么我有这个android.content.ContextWrapper.getResourcesContextWrapper.java:89,因为我的代码只有87行Java android appcompat_v7错误日志猫,java,android,android-logcat,Java,Android,Android Logcat,我已经将我的eclipse和sdk更新到了一个新版本。现在,当我创建一个新的android项目而不是一个java和一个xml文件时,我也创建了一个片段。我的问题是,为什么appcompat_v7中会出现错误。这是因为appcompat_v7,因为我的代码没有错误,为什么我不能运行应用程序。我不明白为什么我有这个android.content.ContextWrapper.getResourcesContextWrapper.java:89,因为我的代码只有87行 04-07 04:36:57.4
04-07 04:36:57.490: E/AndroidRuntime(1176): FATAL EXCEPTION: main
04-07 04:36:57.490: E/AndroidRuntime(1176): Process: com.afield.numpad, PID: 1176
04-07 04:36:57.490: E/AndroidRuntime(1176): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.afield.numpad/com.afield.numpad.MainActivity}: java.lang.NullPointerException
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.os.Handler.dispatchMessage(Handler.java:102)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.os.Looper.loop(Looper.java:136)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-07 04:36:57.490: E/AndroidRuntime(1176): at java.lang.reflect.Method.invokeNative(Native Method)
04-07 04:36:57.490: E/AndroidRuntime(1176): at java.lang.reflect.Method.invoke(Method.java:515)
04-07 04:36:57.490: E/AndroidRuntime(1176): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-07 04:36:57.490: E/AndroidRuntime(1176): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-07 04:36:57.490: E/AndroidRuntime(1176): at dalvik.system.NativeStart.main(Native Method)
04-07 04:36:57.490: E/AndroidRuntime(1176): Caused by: java.lang.NullPointerException
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.content.ContextWrapper.getResources(ContextWrapper.java:89)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78)
04-07 04:36:57.490: E/AndroidRuntime(1176): at com.afield.numpad.MainActivity.<init>(MainActivity.java:25)
04-07 04:36:57.490: E/AndroidRuntime(1176): at java.lang.Class.newInstanceImpl(Native Method)
04-07 04:36:57.490: E/AndroidRuntime(1176): at java.lang.Class.newInstance(Class.java:1208)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
04-07 04:36:57.490: E/AndroidRuntime(1176): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
04-07 04:36:57.490: E/AndroidRuntime(1176): ... 11 more
在eclipse中创建每个新项目时,它也会创建一个appcompat_v7。它必须在那里才能运行代码。请检查它是否在那里。在eclipse中创建每个新项目时,它也会创建一个appcompat\u v7。必须在那里才能运行代码。请检查它是否在那里 原因:java.lang.NullPointerException 04-07 04:36:57.490: E/AndroidRuntime1176:at android.content.ContextWrapper.getResourcesContextWrapper.java:89 你在用这个吗
getResources().getString(R.string.dialogc)
外部的onCreate。在创建时将其移到内部
getResources是一种上下文方法,一旦创建了活动,上下文就可用
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",getResources().getString(R.string.dialogc)};
编辑:
java.lang.NoClassDefFoundError:
android.support.v7.appcompat.R$styleable
您没有正确引用AppCompat。因此问题就来了
选中此复选框以添加库和资源
并按照相应的步骤进行操作
原因:java.lang.NullPointerException 04-07 04:36:57.490:
E/AndroidRuntime1176:at
android.content.ContextWrapper.getResourcesContextWrapper.java:89
你在用这个吗
getResources().getString(R.string.dialogc)
外部的onCreate。在创建时将其移到内部
getResources是一种上下文方法,一旦创建了活动,上下文就可用
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",getResources().getString(R.string.dialogc)};
编辑:
java.lang.NoClassDefFoundError:
android.support.v7.appcompat.R$styleable
您没有正确引用AppCompat。因此问题就来了
选中此复选框以添加库和资源
然后按照相应的步骤初始化onCreate方法中的数字数组,如下所示
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",getResources().getString(R.string.dialogc)};
}
在onCreate方法中初始化数字数组,如下所示
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",getResources().getString(R.string.dialogc)};
}
getResources.getStringR.string.dialogc此行应在onCreate中getResources.getStringR.string.dialogc此行应在onCreate中尝试以下操作: 活动内 外部活动 像这样:
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",this.getResources().getString(R.string.dialogc)};
}
试试这个:
活动内
外部活动
像这样:
String[] numbers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numbers = new String[] {
"1", "2", "3", "4", "5",
"6", "7", "8", "9", "0",this.getResources().getString(R.string.dialogc)};
}
您是否更新了支持库
Goto Window >> Android SDK Manager >> Extras >> Android Support Library
更新它
还有getResources.getStringR.string.dialogc这一行应该在onCreate中您是否更新了支持库
Goto Window >> Android SDK Manager >> Extras >> Android Support Library
更新它
还有getResources.getStringR.string.dialogc这一行应该在onCreateplease,post MainActivity类代码中。@HamidShatu我用我的主要活动代码更新了问题哪一行是MainActivity类的第25行?请,发布MainActivity类代码。@HamidShatu我用我的主要活动代码更新了这个问题MainActivity类中哪一行是第25行?是的,我想知道为什么是这样。当我创建一个新项目时,ECLIPSE生成一个新的appcompat_v7文件我应该删除这个新文件还是只保留它?是的,它创建单独的appcompat_v7文件对于每个项目。不要删除它,只保留在那里。是的,它在那里。我想知道这是为什么。当我创建一个新项目时,ECLIPSE生成一个新的appcompat_v7文件。我应该删除新文件还是只保留在那里?是的,它为每个项目创建单独的appcompat_v7文件。不要删除它,只保留在那里。我尝试删除它,但仍然没有成功错误,但我将尝试这种方法,以知道它是否会work@HakHak在创建时将其移到内部。错误可能不同。更新并发布新的StackRace错误现在是文件夹中的红色感叹号我甚至没有更改它,现在我收到此错误…我将打印屏幕it@HakHak正如我所说,错误是不同的。看起来您的资源中有一个错误files@HakHak您可以拥有一个,然后删除其余的。您可以从其中一个引用appcompat。我尝试删除它,但仍然出现错误,但我将尝试此方法,以确定是否会work@HakHak在创建时将其移到内部。错误可能不同。更新并发布新的StackRace错误现在是文件夹中的红色感叹号我甚至没有更改它,现在我收到此错误…我将打印屏幕it@HakHak正如我所说,错误是不同的。看起来您的资源中有一个错误files@HakHak您可以拥有一个,然后删除其余的。您可以从其中一个引用appcompat