Próbuję zaimplementować "przycisk podobny do Facebooka" w mojej aplikacji na Androida. Zanim użyłem pakietu Facebook SDK v3, w którym chciałbyś skonfigurować LikeView, a następnie wywołać metodę likeView.handleOnActivityResult (context, kod requestCode, kod wynikowy, dane) wewnątrz onActivityResult(); Spowoduje to zmianę przycisku, aby po "polubieniu" strony wyświetlało się "Liked" i liczba osób, które również lubiły tę stronę.Android Facebook SDK v4 LikeView issue
Teraz używam pakietu Facebook SDK v4, ponieważ wersja v3 jest już nieaktualna. W tej wersji nie widzę żadnej dokumentacji ani tego, aby mieć taki sam typ funkcji dla przycisku "Lubię to". Nie ma już metody likeView.handlePnActivityResult, którą posiadała v3. Teraz, gdy użytkownik kliknie przycisk "polubienie" i polubi stronę, nie zmienia stanu przycisku.
Czy ktoś wie, jak rozwiązać ten problem, aby miał taką samą funkcjonalność jak LikeView w Facebook SDK v3?
Oto kod tego, co robię:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize FaceBook SDK
FacebookSdk.sdkInitialize(this);
setContentView(R.layout.activity_about);
// Set up ActionBar
actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
terms = (LinearLayout) findViewById(R.id.terms_holder);
privacyPolicy = (LinearLayout) findViewById(R.id.privacy_policy_holder);
share = (LinearLayout) findViewById(R.id.social_media_holder);
environmentButton = (Button) findViewById(R.id.environment_change);
likeView = (LikeView) findViewById(R.id.like_view);
likeView.setObjectIdAndType("##############", LikeView.ObjectType.PAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// In the old Facebook SDK this is where it would change the like button to "liked 2,038" but this code is deprecated now apparently
// likeView.handleOnActivityResult(this, requestCode, resultCode, data);
}
I tu jest mój XML: odpowiedź
<LinearLayout
android:id="@+id/social_media_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:gravity="center_vertical"
android:clickable="true"
android:onClick="onClick" >
<com.facebook.share.widget.LikeView
android:id="@+id/like_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp" />
<TextView
android:id="@+id/post_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="@string/post_about_us"
android:textSize="20dp"
android:textColor="@color/dark_grey" />
Musisz zaimplementować program wywołujący wywołanie zwrotne, a następnie, w onActivityResult, przekazać wynik do niego przez: callbackManager.onActivityResult (requestCode, kod wynikowy, dane); – Guardanis
Dziękuję bardzo! – Sloganho
Cieszę się, że mogę pomóc ~ – Guardanis