android.content.res.Resources $ NotFoundException:资源ID#0x0

时间:2015-04-25 09:59:14

标签: android

我正在按照从Linkedin获取数据的步骤。但是我收到了错误:

04-25 15:19:09.516 3078-3078 / app.plusconnect.com.linkedindummy E / AndroidRuntime:FATAL EXCEPTION:main     android.content.res.Resources $ NotFoundException:资源ID#0x0

public class MainActivity extends ActionBarActivity {

//declaration
SocialAuthAdapter adapter;
Button linkedin_button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    adapter = new SocialAuthAdapter(new ResponseListener());

    linkedin_button = (Button)findViewById(R.id.SubmitButton);
    linkedin_button.setBackgroundResource(R.mipmap.linkedin);

    linkedin_button.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            adapter.authorize(MainActivity.this, Provider.LINKEDIN);
        }
    });

}

public class ResponseListener implements DialogListener {

    @Override
    public void onComplete(Bundle bundle) {

        adapter.getUserProfileAsync(new ProfileDataListener());
    }

    @Override
    public void onError(SocialAuthError socialAuthError) {
    }

    @Override
    public void onCancel() {
    }

    @Override
    public void onBack() {
    }
}

public class ProfileDataListener implements SocialAuthListener<Profile> {

    @Override
    public void onExecute(String s, Profile profile) {
        Log.d("Custom-UI", "Receiving Data");
        Profile profileMap = profile;
        Log.d("Custom-UI",  "Validate ID         = " + profileMap.getValidatedId());
        Log.d("Custom-UI",  "First Name          = " + profileMap.getFirstName());
        Log.d("Custom-UI",  "Last Name           = " + profileMap.getLastName());
        Log.d("Custom-UI",  "Email               = " + profileMap.getEmail());
        Log.d("Custom-UI",  "Country                  = " + profileMap.getCountry());
        Log.d("Custom-UI",  "Language                 = " + profileMap.getLanguage());
        Log.d("Custom-UI",  "Location                 = " + profileMap.getLocation());
        Log.d("Custom-UI", "Profile Image URL  = " + profileMap.getProfileImageURL());

    }

    @Override
    public void onError(SocialAuthError socialAuthError) {
    }
}

}

这是布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<TextView
    android:id="@+id/textMessage"
    android:padding="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Test Connect application like to fetch Profile details from LinkedIn Account."/>

<!-- Submit button -->
<Button
    android:id="@+id/SubmitButton"
    android:layout_width="200dp"
    android:layout_height="40dp"
    android:layout_marginBottom="20dp"
    android:background="@android:color/holo_blue_dark"
    android:text="Fetch from LinkedIn"
    android:textColor="@android:color/white"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"/>

我在logcat中遇到以下错误:

04-25 15:19:09.456    3078-3078/app.plusconnect.com.linkedindummy     W/ResourceType﹕ No package identifier when getting value for resource number 0x00000000
04-25 15:19:09.477    3078-3078/app.plusconnect.com.linkedindummy W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-25 15:19:09.516    3078-3078/app.plusconnect.com.linkedindummy E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0x0
        at android.content.res.Resources.getValue(Resources.java:1018)
        at android.content.res.Resources.getDrawable(Resources.java:663)
        at org.brickred.socialauth.android.SocialAuthDialog.setUpTitle(SocialAuthDialog.java:191)
        at org.brickred.socialauth.android.SocialAuthDialog.onCreate(SocialAuthDialog.java:146)
        at android.app.Dialog.dispatchOnCreate(Dialog.java:353)
        at android.app.Dialog.show(Dialog.java:257)
        at org.brickred.socialauth.android.SocialAuthAdapter$4$1.run(SocialAuthAdapter.java:649)
        at android.os.Handler.handleCallback(Handler.java:605)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4424)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
        at dalvik.system.NativeStart.main(Native Method)

问题出在哪里?有人可以帮忙吗?

4 个答案:

答案 0 :(得分:3)

SocialAuth要求drawable文件夹中包含您要整合的每项服务的图片。

您可能没有这些图片,并且在尝试加载图片时SocialAuth崩溃了。要解决此问题,只需为drawable文件夹中的每个服务添加一张图片(例如linkedin.pngtwitter.pngfacebook.png

答案 1 :(得分:0)

请检查一下这张图片是否存在?

 linkedin_button.setBackgroundResource(R.mipmap.linkedin);

答案 2 :(得分:0)

首先,LinkedIn推出了适用于Android的新移动SDK。如果仅使用https://developer.linkedin.com/docs/android-sdk,您将获得官方支持。

看看它非常简单。首选使用Android Studio进行LinkedIn集成。

答案 3 :(得分:0)

收到此类错误时

 Android.Content.Res.Resources+NotFoundException: Resource ID #0x0 xamarin

然后请转到android项目中的resources文件夹,并以小字符命名您的图片文件