...
DefaultPopHeaderViewAdapter
를 상속받아CustomPopHeaderViewAdapter
를 만들고getMessagePreviewLayout
getCustomPreviewMessageLayout
를 오버라이드 합니다.getMessagePreviewLayout
getCustomPreviewMessageLayout
의 파라미터인MessagePreview
안에CustomPreviewMessage
에 message, landingUrl, iconUrl 정보가 담겨있습니다.line 9~17
3번에서 받아온 정보를 토대로 직접 layout 을 구성하고, clickEvent 처리할 수 있습니다.line 24
FeedConfig.feedHeaderViewAdapterClass
를 통해 1번에서 생성한CustomPopHeaderViewAdapter
를 설정합니다.line 29
PopConfig.feedConfig
를 통해 5번에서 설정한 FeedConfig 를 설정합니다.
Code Block | ||
---|---|---|
| ||
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(); |
...