Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. DefaultPopHeaderViewAdapter 를 상속받아 CustomPopHeaderViewAdapter 를 만들고

  2. getMessagePreviewLayout getCustomPreviewMessageLayout 를 오버라이드 합니다.

  3. getMessagePreviewLayout getCustomPreviewMessageLayout 의 파라미터인 MessagePreview 안에 CustomPreviewMessagemessage, landingUrl, iconUrl 정보가 담겨있습니다.

  4. line 9~17 3번에서 받아온 정보를 토대로 직접 layout 을 구성하고, clickEvent 처리할 수 있습니다.

  5. line 24 FeedConfig.feedHeaderViewAdapterClass를 통해 1번에서 생성한 CustomPopHeaderViewAdapter 를 설정합니다.

  6. line 29 PopConfig.feedConfig를 통해 5번에서 설정한 FeedConfig 를 설정합니다.

Code Block
languagejava
public class CustomPopHeaderViewAdapter extends DefaultPopHeaderViewAdapter {
    @Nullable
    @Override
    protected View getMessagePreviewLayoutgetCustomPreviewMessageLayout(Context context, ViewGroup parent, MessagePreviewCustomPreviewMessage messagePreviewcustomPreviewMessage) {
        final LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (inflater == null) {
            return null;
        }
        View viewMessagePreviewviewCustomPreviewMessage = inflater.inflate(R.layout.view_custom_preview_message, parent, false);
        final TextView messagePreviewTexttextCustomPreviewMessageTitle = viewMessagePreviewviewCustomPreviewMessage.findViewById(R.id.textCustomPreviewMessageTitle);
        messagePreviewTexttextCustomPreviewMessageTitle.setText(messagePreviewcustomPreviewMessage.getMessage());
        viewMessagePreviewviewCustomPreviewMessage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startDeeplinkActivity(context, messagePreviewcustomPreviewMessage.getLandingUrl());
            }
        });
        return viewMessagePreviewviewCustomPreviewMessage;
    }
}

final FeedConfig popFeedConfig = new FeedConfig.Builder(getApplicationContext(), UNIT_ID_POP)
        ...
        .feedHeaderViewAdapterClass(CustomPopHeaderViewAdapter.class)
        ...
        .build();
final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), UNIT_ID_POP)
        ...
        .feedConfig(popFeedConfig)
        ...
        .build();

...