<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>안드로이드</title>
    <link>https://devatom.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Mon, 6 Jul 2026 21:35:27 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>구름나드리</managingEditor>
    <item>
      <title>fillter() 함수</title>
      <link>https://devatom.tistory.com/87</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;fillter() 함수&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); font-family: Verdana; font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;FillterEx {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        Integer[] numbers = {&lt;span style=&quot;color:#6897bb;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;200&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;300&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;400&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;500&lt;/span&gt;}&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Single&amp;lt;Integer&amp;gt; single&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;Integer&amp;gt; source&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 1. first : &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;첫 번째 항목만 리턴 나머지는 모드 걸러낸다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;single = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).first(-&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;single.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;first(-1) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 2.  last : &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;마지막 항목만 리턴&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;single = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).last(&lt;span style=&quot;color:#6897bb;&quot;&gt;999&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;single.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;last(999) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 3.  take(N) : &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;처음부터&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;  N&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;개 데이터만 가져옴&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).take(&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;take(3) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 4.  takeLast(N) : &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;마지막 항목기준으로&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; N &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;개의 데이터를 가져 온다&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).takeLast(&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;takeLast(3) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 5.  skip(N) : N &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;개의 항목을 건너 띄고 그 다음 데이터를 활용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).skip(&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;skip(2) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// 6.  skipLast(N) : &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;마지막 옴고을 기준으로&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; N&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;개의 함목을 제외한 다음 데이터를 활용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(numbers).skipLast(&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;skipLast(3) value = &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;======================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>RxJava</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/87</guid>
      <comments>https://devatom.tistory.com/87#entry87comment</comments>
      <pubDate>Wed, 13 Feb 2019 14:02:46 +0900</pubDate>
    </item>
    <item>
      <title>map 함수</title>
      <link>https://devatom.tistory.com/85</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;class03 {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;/*String[] balls = {&quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;};&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        Observable&amp;lt;String&amp;gt; source = Observable.fromArray(balls)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;                .map(getDiamond);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        source.subscribe(System.out::println);*/&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;String[] balls = {&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;RED&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;YELLOW&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;GREEN&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;BLUE&quot;&lt;/span&gt;}&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;Integer&amp;gt; source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(balls)&lt;br /&gt;                .map(&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ballToIndex&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;::println)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;static &lt;/span&gt;Function&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String&amp;gt; &lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;getDiamond &lt;/span&gt;= ball -&amp;gt; ball + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&amp;lt;&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    static &lt;/span&gt;Function&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Integer&amp;gt; &lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ballToIndex &lt;/span&gt;= ball -&amp;gt; {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;switch &lt;/span&gt;(ball) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;case &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;RED&quot;&lt;/span&gt;:&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            case &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;YELLOW&quot;&lt;/span&gt;:&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            case &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;GREEN&quot;&lt;/span&gt;:&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            case &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;BLUE&quot;&lt;/span&gt;:&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            default&lt;/span&gt;:&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;-&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;: map 함수는 입력값을 어떤 함수에 넣어서 원하는 값으로 변환하는 함수이다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9990253B5C5B969218&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9990253B5C5B969218&quot; width=&quot;820&quot; height=&quot;414&quot; filename=&quot;Screenshot_27.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>RxJava</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/85</guid>
      <comments>https://devatom.tistory.com/85#entry85comment</comments>
      <pubDate>Thu, 7 Feb 2019 11:23:52 +0900</pubDate>
    </item>
    <item>
      <title>flatMap() 함수</title>
      <link>https://devatom.tistory.com/84</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;flatMap() 함수&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;:map 함수는 1대1 함수라면 flatMap함수는&amp;nbsp;일대다 혹은 일대일 Observable 함수이다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;FlatMap {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        String[] ball = {&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;2&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;4&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;/span&gt;}&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;String&amp;gt; source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(ball)&lt;br /&gt;                .flatMap(&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;getDoubleDiamond&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;::println)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;static  &lt;/span&gt;Function&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Observable&amp;lt;String&amp;gt;&amp;gt; &lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;getDoubleDiamond &lt;/span&gt;= ball -&amp;gt; Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;just&lt;/span&gt;(ball + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&amp;lt;&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;ball + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&amp;lt;&amp;gt;&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DAF54D5C5B9B1626&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DAF54D5C5B9B1626&quot; width=&quot;820&quot; height=&quot;404&quot; filename=&quot;Screenshot_28.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;Ex4 {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        Scanner in = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Scanner(System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;in&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;GuGuDan Input :&quot; &lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        int &lt;/span&gt;dan = Integer.&lt;span style=&quot;font-style:italic;&quot;&gt;parseInt&lt;/span&gt;(in.nextLine())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;          for &lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;row = &lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;; &lt;/span&gt;row &amp;lt;= &lt;span style=&quot;color:#6897bb;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;; &lt;/span&gt;row++) {&lt;br /&gt;            System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println( dan + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; *  &quot; &lt;/span&gt;+ row + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; = &quot; &lt;/span&gt;+ dan * row)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;===========================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// change for to Observable&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;Integer&amp;gt; source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;9&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(row -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println( &lt;span style=&quot;color:#b389c5;&quot;&gt;dan &lt;/span&gt;+ &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; *  &quot; &lt;/span&gt;+ row + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; = &quot; &lt;/span&gt;+ &lt;span style=&quot;color:#b389c5;&quot;&gt;dan &lt;/span&gt;* row))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;===========================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Function&amp;lt;Integer&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Observable&amp;lt;String&amp;gt;&amp;gt; gugudan = num -&amp;gt;&lt;br /&gt;                Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;9&lt;/span&gt;).map(row -&amp;gt; &lt;span style=&quot;color:#b389c5;&quot;&gt;num &lt;/span&gt;+ &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; * &quot; &lt;/span&gt;+ row + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; = &quot; &lt;/span&gt;+ &lt;span style=&quot;color:#b389c5;&quot;&gt;dan &lt;/span&gt;* row)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;String&amp;gt; source2 = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;just&lt;/span&gt;(dan).flatMap(gugudan)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source2.subscribe(System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;::println)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;===========================&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;String&amp;gt; source3 = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;just&lt;/span&gt;(dan)&lt;br /&gt;                .flatMap( num -&amp;gt; Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;9&lt;/span&gt;)&lt;br /&gt;                                            .map(row -&amp;gt; &lt;span style=&quot;color:#b389c5;&quot;&gt;num &lt;/span&gt;+ &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; * &quot; &lt;/span&gt;+ row + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; = &quot; &lt;/span&gt;+ &lt;span style=&quot;color:#b389c5;&quot;&gt;dan &lt;/span&gt;* row)&lt;br /&gt;                )&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source3.subscribe(System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;::println)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>RxJava</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/84</guid>
      <comments>https://devatom.tistory.com/84#entry84comment</comments>
      <pubDate>Wed, 23 Jan 2019 11:46:30 +0900</pubDate>
    </item>
    <item>
      <title>RxJava Subjsct class</title>
      <link>https://devatom.tistory.com/83</link>
      <description>&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;Subject {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#808080;&quot;&gt;/*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *  1. AsyncSubject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *  Observable &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;에서 발행한 마지막 데이터만 얻어 어는&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;  subject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;차가운&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; Ob &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;를 뜨거운&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; Ob&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;로 변경해주는 클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *  - &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;완료됨 과 동시에 마지막 데이터를 구독자들에게 전달&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;이전 데이터는 전달하지 않는다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    /*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  2. BehaviorSubject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;구독자가 구독을 하면 가장 최근 값 혹은 기본값을 넘겨주는 클래스이다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    /*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  3. PublishSubject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;가장 평범한&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; Subject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스 이다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;오직 해당시간에 발생한 데이터를 그대로 구독자에게 전달 받는다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    /*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  4. ReplaySubject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;주의&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; : Subject &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;클래스의 목적은 뜨거운&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;  Observable &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;을 활용하는 것인데 차가운&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; Observable &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;처럼 동작하기 때문이다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;구독자가 새로 생기면 항상 데이터의 처음부터 끝까지 발행하는 것을 보장해 줍니다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;그러므로 모든 데이터 내용을 저장해두는 과정 중 메로리 누수가 발생할 가능성을 염두에 두고 사용할  때 주의해야 합니다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     *&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;     * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;// AsyncSubject class&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        //ex 1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;AsyncSubject&amp;lt;String&amp;gt; subject = AsyncSubject.&lt;span style=&quot;font-style:italic;&quot;&gt;create&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;subscriber #1 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #2 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject.onComplete()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; ========================== &quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// ex2&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;Float[] temperature = {&lt;span style=&quot;color:#6897bb;&quot;&gt;10.1f&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;13.4f&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;12.5f&lt;/span&gt;}&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Observable&amp;lt;Float&amp;gt; source = Observable.&lt;span style=&quot;font-style:italic;&quot;&gt;fromArray&lt;/span&gt;(temperature)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;AsyncSubject&amp;lt;Float&amp;gt; subject2 = AsyncSubject.&lt;span style=&quot;font-style:italic;&quot;&gt;create&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;subject2.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscribe #3 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;source.subscribe(subject2)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; ==========================&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;BehaviorSubject &quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//BehaviorSubject&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        //ex1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;BehaviorSubject&amp;lt;String&amp;gt; beSubject = BehaviorSubject.&lt;span style=&quot;font-style:italic;&quot;&gt;createDefault&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;6&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #1 =&amp;gt; &quot;  &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber 2 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;beSubject.onComplete()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; ==========================&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;PublishSubject &quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//PublishSubject class&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        // ex1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;PublishSubject&amp;lt;String&amp;gt; puSubject = PublishSubject.&lt;span style=&quot;font-style:italic;&quot;&gt;create&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #1 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #2 -&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;puSubject.onComplete()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; ==========================&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;ReplaySubject &quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//ReplaySubject class&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        // ex 1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;ReplaySubject&amp;lt;String&amp;gt; reSubject = ReplaySubject.&lt;span style=&quot;font-style:italic;&quot;&gt;create&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #1 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.subscribe(data -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Subscriber #2 =&amp;gt; &quot; &lt;/span&gt;+ data))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.onNext(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;reSubject.onComplete()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;784&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 785px; height: 146px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204);&quot;&gt;&lt;table class=&quot;txc-table&quot; width=&quot;784&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:392;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;데이터 발행자(data source)&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width:392;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;;&quot;&gt;&lt;p&gt;&amp;nbsp;데이터 수신자&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:392;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;&amp;nbsp;Observable&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Single&lt;br /&gt;&amp;nbsp;Maybe&lt;br /&gt;&amp;nbsp;Subject&amp;nbsp;&lt;br /&gt;&amp;nbsp;Completable&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width:392;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot;&gt;&lt;p&gt;구독자(Subscriber)&lt;/p&gt;&lt;p&gt;옵서버(Observer)&lt;br /&gt;소비자(Consumer)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 6px; height: 146px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-top: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>RxJava</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/83</guid>
      <comments>https://devatom.tistory.com/83#entry83comment</comments>
      <pubDate>Fri, 18 Jan 2019 18:39:56 +0900</pubDate>
    </item>
    <item>
      <title>Java8 Function, Consumer, Predicate, Supplier</title>
      <link>https://devatom.tistory.com/82</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Function, Consumer, Predicate, Supplier&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;FunctionalInterfaceExamples {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;        &lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;/**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         *  JAVA 8&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;        /**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         * Function : &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;입력이 있으면 반드시 출력이 있다 &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;타입 변환&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;        &lt;/span&gt;Function&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Integer&amp;gt; toInt = value -&amp;gt; Integer.&lt;span style=&quot;font-style:italic;&quot;&gt;parseInt&lt;/span&gt;(value)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;Integer number = toInt.apply(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;100&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(number)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// Function - identity &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;Function&amp;lt;Integer&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Integer&amp;gt; identity = Function.&lt;span style=&quot;font-style:italic;&quot;&gt;identity&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(identity.apply(&lt;span style=&quot;color:#6897bb;&quot;&gt;333&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;/**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         * Consumer : &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;리턴값이 없는 &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;소비만 한다&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;Consumer&amp;lt;String&amp;gt; print = s -&amp;gt; System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(s)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;print.accept(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Hello&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;/**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         *Predicate : &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;리턴값은 항상 &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;boolean &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;이여야 한다&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;        &lt;/span&gt;Predicate&amp;lt;Integer&amp;gt; isPositive = i -&amp;gt; i &amp;gt; &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Predicate&amp;lt;Integer&amp;gt; lessThan3 = i -&amp;gt; i &amp;lt; &lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(isPositive.test(&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(isPositive.test(&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(isPositive.test(-&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//predicate &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;활용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;List&amp;lt;Integer&amp;gt; numbers = Arrays.&lt;span style=&quot;font-style:italic;&quot;&gt;asList&lt;/span&gt;(-&lt;span style=&quot;color:#6897bb;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;-&lt;span style=&quot;color:#6897bb;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;-&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;-&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;-&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;5&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;/////////////////////// boil code ///////////////////////&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;List&amp;lt;Integer&amp;gt; positiveNumbers = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(Integer num : numbers) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(isPositive.test(num)) {&lt;br /&gt;                positiveNumbers.add(num)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;        List&amp;lt;Integer&amp;gt; numbersLessThan3= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(Integer num : numbers) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(lessThan3.test(num)) {&lt;br /&gt;                numbersLessThan3.add(num)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;positive integers:  &quot; &lt;/span&gt;+ positiveNumbers)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;numbersLessThan3 integers:  &quot; &lt;/span&gt;+ numbersLessThan3)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;/////////////////////// boil code ///////////////////////&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        ///  private static &amp;lt;T&amp;gt; List&amp;lt;T&amp;gt; filter(List&amp;lt;T&amp;gt; list, Predicate&amp;lt;T&amp;gt; filter &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;메서드 사용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;filter isPositive:  &quot; &lt;/span&gt;+ &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;(numbers&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;isPositive))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;filter lessThan3:  &quot; &lt;/span&gt;+ &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;(numbers&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;lessThan3))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;///////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;/**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         * Supplier&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;         * */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;Supplier&amp;lt;String&amp;gt; hellSupplier = () -&amp;gt; &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Hello &quot; &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(hellSupplier.get() + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;world&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        long &lt;/span&gt;start = System.&lt;span style=&quot;font-style:italic;&quot;&gt;currentTimeMillis&lt;/span&gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;printIfValidIndex&lt;/span&gt;(&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;() -&amp;gt; &lt;span style=&quot;font-style:italic;&quot;&gt;getVeryExpensiveValue&lt;/span&gt;())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;printIfValidIndex&lt;/span&gt;(-&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;() -&amp;gt; &lt;span style=&quot;font-style:italic;&quot;&gt;getVeryExpensiveValue&lt;/span&gt;())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;printIfValidIndex&lt;/span&gt;(-&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;() -&amp;gt; &lt;span style=&quot;font-style:italic;&quot;&gt;getVeryExpensiveValue&lt;/span&gt;())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;It took &quot; &lt;/span&gt;+ (System.&lt;span style=&quot;font-style:italic;&quot;&gt;currentTimeMillis&lt;/span&gt;() - start) / &lt;span style=&quot;color:#6897bb;&quot;&gt;1000 &lt;/span&gt;+ &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; seconds&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private static  &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getVeryExpensiveValue&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;try &lt;/span&gt;{&lt;br /&gt;            TimeUnit.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;SECONDS&lt;/span&gt;.sleep(&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;} &lt;span style=&quot;color:#cc7832;&quot;&gt;catch &lt;/span&gt;(InterruptedException e) {&lt;br /&gt;            e.printStackTrace()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Geun ho&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#808080;&quot;&gt;// predicate &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;활용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private static &lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; &lt;span style=&quot;color:#ffc66d;&quot;&gt;filter&lt;/span&gt;(List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; list&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Predicate&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; filter) {&lt;br /&gt;        List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; result = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(&lt;span style=&quot;color:#507874;&quot;&gt;T &lt;/span&gt;input :  list) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(filter.test(input)) {&lt;br /&gt;                result.add(input)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;result&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#808080;&quot;&gt;// Supplier &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;활용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;/*private static void printIfValidIndex(int number, String value) {&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        if (number &amp;gt;= 0) {&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;            System.out.println(&quot;The value is &quot; + value + &quot; .&quot;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        } else {&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;            System.out.println(&quot;Invalid&quot;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    }*/&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;printIfValidIndex&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;number&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Supplier&amp;lt;String&amp;gt; valueSupplier) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(number &amp;gt;= &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;) {&lt;br /&gt;            System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;The value is &quot; &lt;/span&gt;+ valueSupplier.get() + &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot; .&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;} &lt;span style=&quot;color:#cc7832;&quot;&gt;else &lt;/span&gt;{&lt;br /&gt;            System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Invalid&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); font-family: Verdana; font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;FunctionInterfaceExamples {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] args) {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;Product productA = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Product(&lt;span style=&quot;color:#6897bb;&quot;&gt;1L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10.00&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;Product productB = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Product(&lt;span style=&quot;color:#6897bb;&quot;&gt;2L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;B&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;55.50&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;Product productC = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Product(&lt;span style=&quot;color:#6897bb;&quot;&gt;3L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;C&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;17.45&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;Product productD = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Product(&lt;span style=&quot;color:#6897bb;&quot;&gt;4L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;D&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;23.00&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;Product productE = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Product(&lt;span style=&quot;color:#6897bb;&quot;&gt;5L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;E&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;110.00&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;List&amp;lt;Product&amp;gt; products = Arrays.&lt;span style=&quot;font-style:italic;&quot;&gt;asList&lt;/span&gt;( productA&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productB&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productC&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productD&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productE )&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        final &lt;/span&gt;BigDecimal twenty = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;20&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;List&amp;lt;Product&amp;gt; result = &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;( products&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product -&amp;gt; product.getPrice().compareTo(&lt;span style=&quot;color:#b389c5;&quot;&gt;twenty&lt;/span&gt;) &amp;gt;= &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// DiscountedProducts&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;List&amp;lt;Product&amp;gt; expensiveProducts = &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;(products&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product -&amp;gt; product.getPrice().compareTo(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;50&quot;&lt;/span&gt;)) &amp;gt; &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;List&amp;lt;DiscountedProducts&amp;gt; discountedProducts = &lt;span style=&quot;font-style:italic;&quot;&gt;map&lt;/span&gt;(expensiveProducts&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;product -&amp;gt; &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;DiscountedProducts(product.getId()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product.getName()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product.getPrice().multiply(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0.5&quot;&lt;/span&gt;))))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//////////////////////////////////////////////////////////// println /////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;total products : &quot;  &lt;/span&gt;+ result)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;products  &amp;lt;= 10 &quot;  &lt;/span&gt;+ &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;(products&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product -&amp;gt; product.getPrice().compareTo(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10&quot;&lt;/span&gt;)) &amp;lt;= &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;expensive products : &quot; &lt;/span&gt;+ expensiveProducts)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;discounted products : &quot; &lt;/span&gt;+ discountedProducts)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;30 &lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;이하&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; products &quot; &lt;/span&gt;+ &lt;span style=&quot;font-style:italic;&quot;&gt;filter&lt;/span&gt;(discountedProducts&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;d-&amp;gt; d.getPrice().compareTo(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;30&quot;&lt;/span&gt;)) &amp;lt; &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;/*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        --&amp;gt; &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;이런 작업을 할 필요가 없다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        final List&amp;lt;BigDecimal&amp;gt; prices = map(products, product -&amp;gt; product.getPrice());&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        BigDecimal total = BigDecimal.ZERO;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        for (final BigDecimal price : prices) {&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;            total = total.add(price);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;BigDecimal total = &lt;span style=&quot;font-style:italic;&quot;&gt;total&lt;/span&gt;(products&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product -&amp;gt; product.getPrice())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;total : &quot; &lt;/span&gt;+ total)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;BigDecimal DisCountedTotal = &lt;span style=&quot;font-style:italic;&quot;&gt;total&lt;/span&gt;(discountedProducts&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;product -&amp;gt; product.getPrice())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;DisCountedTotal : &quot; &lt;/span&gt;+ DisCountedTotal)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Order order = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Order(&lt;span style=&quot;color:#6897bb;&quot;&gt;1L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;on+1234&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Arrays.&lt;span style=&quot;font-style:italic;&quot;&gt;asList&lt;/span&gt;(&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;OrderItem(&lt;span style=&quot;color:#6897bb;&quot;&gt;1L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productA&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                new &lt;/span&gt;OrderItem(&lt;span style=&quot;color:#6897bb;&quot;&gt;2L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productB&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;11&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                new &lt;/span&gt;OrderItem(&lt;span style=&quot;color:#6897bb;&quot;&gt;3L&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;productC&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;10&lt;/span&gt;)&lt;br /&gt;        ))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;BigDecimal orderTotal = order.totalPrice()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;OrderTotal : &quot; &lt;/span&gt;+ orderTotal)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    &lt;/span&gt;} &lt;span style=&quot;color:#808080;&quot;&gt;// end main&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    // &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;필터&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; compareTo &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;를 이용&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; 1 , 0 , -1 &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;를 가지고&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; Predicate &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;를 이용해서&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; boolean &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;결과값을 받고 쌓여진&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; List &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;목록을 받는다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private static &lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; &lt;span style=&quot;color:#ffc66d;&quot;&gt;filter&lt;/span&gt;(List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; list&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Predicate&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; predicate) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; result = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;&lt;span style=&quot;color:#507874;&quot;&gt;T  &lt;/span&gt;t: list) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(predicate.test(t)) {&lt;br /&gt;                result.add(t)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;result&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#808080;&quot;&gt;// List&amp;lt;?&amp;gt; &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;에 어떤 형을 넣어서 다른 형으로 변환 시킨다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; (ex) expensiveProducts --&amp;gt; discountedProducts  &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;로 변한&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private static &lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#507874;&quot;&gt;R&lt;/span&gt;&amp;gt; List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;R&lt;/span&gt;&amp;gt; &lt;span style=&quot;color:#ffc66d;&quot;&gt;map&lt;/span&gt;(List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; list&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Function&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#507874;&quot;&gt;R&lt;/span&gt;&amp;gt; function) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;R&lt;/span&gt;&amp;gt; result = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;&lt;span style=&quot;color:#507874;&quot;&gt;T &lt;/span&gt;t : list) {&lt;br /&gt;            result.add(function.apply(t))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;result&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#808080;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;어떤형을 넣든&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt; BigDecimal &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;형을 변환이 된다면&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;(Function &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;이용&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;)  total &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;값을 구할 수 있다&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private static &lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; BigDecimal &lt;span style=&quot;color:#ffc66d;&quot;&gt;total&lt;/span&gt;(List&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&amp;gt; list&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Function&amp;lt;&lt;span style=&quot;color:#507874;&quot;&gt;T&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;BigDecimal&amp;gt; mapper) {&lt;br /&gt;        BigDecimal total = BigDecimal.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ZERO&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        for &lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;final &lt;/span&gt;&lt;span style=&quot;color:#507874;&quot;&gt;T &lt;/span&gt;t : list) {&lt;br /&gt;            total = total.add(mapper.apply(t))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;total&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;/**&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *    lombok &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;이용&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*    &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *    1. &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *    lib gradle(&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;모듈레벨&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;에 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*    dependency &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;에 추가 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*    compileOnly &quot;org.projectlombok:lombok:1.16.18&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *    annotationProcessor &quot;org.projectlombok:lombok:1.16.18&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *  &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *   2. Annotation processors &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;에 &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;Enable annotation processing &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;에 체크 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*   &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *   3. Sysout.out.println &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;한글 변환 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*   &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *   &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;모듈 레벨에서 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*   &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *   dependency &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;밖에 선언 &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;font-family:'굴림체';&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;*&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *      compileJava.options.encoding = 'UTF-8'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *      tasks.withType(JavaCompile){&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     *     options.encoding = 'UTF-8'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     * }&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;     */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#629755;font-style:italic;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@AllArgsConstructor&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Data&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;static class &lt;/span&gt;Product {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;Long &lt;span style=&quot;color:#9876aa;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private &lt;/span&gt;BigDecimal &lt;span style=&quot;color:#9876aa;&quot;&gt;price&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@ToString&lt;/span&gt;(&lt;span style=&quot;color:#d0d0ff;&quot;&gt;callSuper &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;true&lt;/span&gt;)&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;static class &lt;/span&gt;DiscountedProducts &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;Product {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;DiscountedProducts&lt;/span&gt;(Long id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String name&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;BigDecimal price) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;(id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;name&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;price)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@AllArgsConstructor&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Data&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;static class &lt;/span&gt;OrderItem {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;Long &lt;span style=&quot;color:#9876aa;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private &lt;/span&gt;Product &lt;span style=&quot;color:#9876aa;&quot;&gt;product&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;quantity&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;BigDecimal &lt;span style=&quot;color:#ffc66d;&quot;&gt;getItemTotal&lt;/span&gt;() {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;product&lt;/span&gt;.getPrice().multiply(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;BigDecimal(&lt;span style=&quot;color:#9876aa;&quot;&gt;quantity&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@AllArgsConstructor&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Data&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;static class &lt;/span&gt;Order {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;Long &lt;span style=&quot;color:#9876aa;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;orderNumber&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        private &lt;/span&gt;List&amp;lt;OrderItem&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;BigDecimal &lt;span style=&quot;color:#ffc66d;&quot;&gt;totalPrice&lt;/span&gt;() {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;total&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;items -&amp;gt; items.getItemTotal())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;} &lt;span style=&quot;color:#808080;&quot;&gt;// end class&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>RxJava</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/82</guid>
      <comments>https://devatom.tistory.com/82#entry82comment</comments>
      <pubDate>Thu, 10 Jan 2019 15:46:06 +0900</pubDate>
    </item>
    <item>
      <title>EasyPermissions</title>
      <link>https://devatom.tistory.com/81</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;EasyPermissions&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:11.3pt;&quot;&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'pub.devrel:easypermissions:1.3.+'&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:11.3pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;uses-permission &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:name=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;android.permission.CAMERA&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;uses-permission &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:name=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;android.permission.READ_EXTERNAL_STORAGE&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:11.3pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;android.support.constraint.ConstraintLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;Button&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/btn_permission&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;request Permission&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintBottom_toBottomOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintLeft_toLeftOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintRight_toRightOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintTop_toTopOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/android.support.constraint.ConstraintLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:11.3pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;implements &lt;/span&gt;EasyPermissions.PermissionCallbacks {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static final int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;REQUEST_CODE &lt;/span&gt;= &lt;span style=&quot;color:#6897bb;&quot;&gt;123&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;Button &lt;span style=&quot;color:#9876aa;&quot;&gt;btnOpenCamera&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;btnOpenCamera &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;btn_permission&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;btnOpenCamera&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View view) {&lt;br /&gt;                openCamera()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@AfterPermissionGranted&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;REQUEST_CODE&lt;/span&gt;)&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;openCamera&lt;/span&gt;() {&lt;br /&gt;        String[] perms = {Manifest.permission.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;CAMERA&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Manifest.permission.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;READ_EXTERNAL_STORAGE&lt;/span&gt;}&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        if &lt;/span&gt;(EasyPermissions.&lt;span style=&quot;font-style:italic;&quot;&gt;hasPermissions&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;perms)) {&lt;br /&gt;            Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Open Camera &quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;} &lt;span style=&quot;color:#cc7832;&quot;&gt;else &lt;/span&gt;{&lt;br /&gt;            EasyPermissions.&lt;span style=&quot;font-style:italic;&quot;&gt;requestPermissions&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;we need permission &quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;REQUEST_CODE&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;perms)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onRequestPermissionsResult&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;String[] permissions&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;int&lt;/span&gt;[] grantResults) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onRequestPermissionsResult(requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;permissions&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;grantResults)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;EasyPermissions.&lt;span style=&quot;font-style:italic;&quot;&gt;onRequestPermissionsResult&lt;/span&gt;(requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;permissions&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;grantResults&lt;span style=&quot;color:#cc7832;&quot;&gt;, this&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onPermissionsGranted&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;String&amp;gt; perms) {&lt;br /&gt;        Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;TAG&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;why not call &quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onPermissionsDenied&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;String&amp;gt; perms) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(EasyPermissions.&lt;span style=&quot;font-style:italic;&quot;&gt;somePermissionDenied&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;String.&lt;span style=&quot;font-style:italic;&quot;&gt;valueOf&lt;/span&gt;(perms))) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;AppSettingsDialog.Builder(&lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;).build().show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;TAG&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;onPermissionDenied if in ~&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onActivityResult&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;resultCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Nullable &lt;/span&gt;Intent data) {&lt;br /&gt;        Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;TAG&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;onActivityResult if in method  ~&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        super&lt;/span&gt;.onActivityResult(requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;resultCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;data)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        if &lt;/span&gt;(requestCode == AppSettingsDialog.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;DEFAULT_SETTINGS_REQ_CODE&lt;/span&gt;) {&lt;br /&gt;            Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;TAG&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;onActivityResult if in ~&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>android</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/81</guid>
      <comments>https://devatom.tistory.com/81#entry81comment</comments>
      <pubDate>Sat, 5 Jan 2019 19:03:15 +0900</pubDate>
    </item>
    <item>
      <title>RecyclerView add,remove,delete</title>
      <link>https://devatom.tistory.com/79</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support:appcompat-v7:28.0.0'&lt;br /&gt;&lt;/span&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support:design:28.0.0'&lt;br /&gt;&lt;/span&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support.constraint:constraint-layout:1.1.3'&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;RelativeLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.v7.widget.RecyclerView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/recyclerView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:background=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@android:color/darker_gray&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:padding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;4dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:scrollbars=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;100dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/editext_insert&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:inputType=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;number&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;15dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;25dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;40dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;Button&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/button_insert&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;insert&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_toEndOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/editext_insert&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;25dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/editext_remove&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:inputType=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;number&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_toLeftOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/button_remove&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;15dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;25dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;40dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;Button&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/button_remove&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;remove&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentEnd=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;25dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginRight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;50dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;android.support.v7.widget.CardView &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;RelativeLayout&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;4dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;ImageView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/imageView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:padding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;2dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/textView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentTop=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_toEndOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@id/imageView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Line 1&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textColor=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@android:color/black&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textSize=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;20sp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textStyle=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;bold&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/textView2&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_below=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@id/textView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_toEndOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@id/imageView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Line 2&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textSize=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;15sp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textStyle=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;bold&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &amp;lt;ImageView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/image_delete&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;50dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;50dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentTop=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_alignParentEnd=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;true&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:src=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@drawable/ic_delete_black_24dp&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/android.support.v7.widget.CardView&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;package &lt;/span&gt;com.example.devat.myapplication&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;ExampleItem {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;mImageResource&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;mText1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;mText2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;ExampleItem&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;mImageResource&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String mText1&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String mText2) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;mImageResource &lt;/span&gt;= mImageResource&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;mText1 &lt;/span&gt;= mText1&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;mText2 &lt;/span&gt;= mText2&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;getmImageResource&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;mImageResource&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;    // &lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;changeTExt1&lt;/span&gt;(String text ) {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;mText1 &lt;/span&gt;= text&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getmText1&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;mText1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getmText2&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;mText2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;ArrayList&amp;lt;ExampleItem&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;RecyclerView &lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;ExampleAdapter &lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;RecyclerView.LayoutManager &lt;span style=&quot;color:#9876aa;&quot;&gt;layoutManager&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;Button &lt;span style=&quot;color:#9876aa;&quot;&gt;buttonInsert&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;Button &lt;span style=&quot;color:#9876aa;&quot;&gt;buttonRemove&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;editTextInsert&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;editTextRemove&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;createExampleList()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;buildRecyclerView()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setButtons()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setButtons&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;buttonInsert &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;button_insert&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;buttonRemove &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;button_remove&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;editTextInsert &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;editext_insert&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;editTextRemove &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;editext_remove&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;buttonInsert&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View view) {&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position = Integer.&lt;span style=&quot;font-style:italic;&quot;&gt;parseInt&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;editTextInsert&lt;/span&gt;.getText().toString().trim())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;insertItem(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;buttonRemove&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View view) {&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position = Integer.&lt;span style=&quot;font-style:italic;&quot;&gt;parseInt&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;editTextRemove&lt;/span&gt;.getText().toString().trim())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;removeItem(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;insertItem&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position) {&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color:#a8c023;font-style:italic;&quot;&gt;Todo modify insert division , out of index check&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#a8c023;font-style:italic;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_aspect_ratio_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;new Item At Position  &quot; &lt;/span&gt;+ position&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Line &quot; &lt;/span&gt;+ position))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;.notifyItemInserted(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;removeItem&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position) {&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#a8c023;font-style:italic;&quot;&gt;Todo out of index  chceck&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#a8c023;font-style:italic;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.remove(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;.notifyItemRemoved(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;changeItem&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String text) {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.get(position).changeTExt1(text)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;.notifyItemChanged(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;createExampleList&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_android_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;:Line 1&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Lind 2&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_adb_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;:Line 3&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Lind 4&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_aspect_ratio_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;:Line 5&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Lind 6&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_aspect_ratio_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;:Line 7&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Lind 8&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleItem(R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;ic_aspect_ratio_black_24dp&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;:Line 9&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Lind 10&quot;&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;buildRecyclerView&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;recyclerView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;.setHasFixedSize(&lt;span style=&quot;color:#cc7832;&quot;&gt;true&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;layoutManager &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;LinearLayoutManager(&lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleAdapter(&lt;span style=&quot;color:#9876aa;&quot;&gt;exampleItems&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;.setLayoutManager(&lt;span style=&quot;color:#9876aa;&quot;&gt;layoutManager&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;.setAdapter(&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;adapter&lt;/span&gt;.setOnItemClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleAdapter.OnItemClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onItemClick&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position) {&lt;br /&gt;                changeItem(position&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Clicked&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onDeleteClick&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position) {&lt;br /&gt;                removeItem(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;ExampleAdapter &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;RecyclerView.Adapter&amp;lt;ExampleAdapter.ExampleViewHolder&amp;gt; {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;ArrayList&amp;lt;ExampleItem&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;mExampleList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;OnItemClickListener &lt;span style=&quot;color:#9876aa;&quot;&gt;onItemClickListener&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public interface &lt;/span&gt;OnItemClickListener {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onItemClick&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onDeleteClick&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setOnItemClickListener&lt;/span&gt;(OnItemClickListener onItemClickListener) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;onItemClickListener &lt;/span&gt;= onItemClickListener&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static class &lt;/span&gt;ExampleViewHolder &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;RecyclerView.ViewHolder {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;ImageView &lt;span style=&quot;color:#9876aa;&quot;&gt;imageView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;ImageView &lt;span style=&quot;color:#9876aa;&quot;&gt;imageDelete&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;TextView &lt;span style=&quot;color:#9876aa;&quot;&gt;textView1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;TextView &lt;span style=&quot;color:#9876aa;&quot;&gt;textView2&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;ExampleViewHolder&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;View itemView&lt;span style=&quot;color:#cc7832;&quot;&gt;, final &lt;/span&gt;OnItemClickListener onItemClickListener) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;(itemView)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;imageView &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;imageView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;textView1 &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;textView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;textView2 &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;textView2&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;imageDelete &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;image_delete&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;itemView.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;                &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View view) {&lt;br /&gt;                    &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(&lt;span style=&quot;color:#b389c5;&quot;&gt;onItemClickListener &lt;/span&gt;!= &lt;span style=&quot;color:#cc7832;&quot;&gt;null&lt;/span&gt;) {&lt;br /&gt;                        &lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position = getAdapterPosition()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                        if &lt;/span&gt;(position != RecyclerView.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;NO_POSITION&lt;/span&gt;) {&lt;br /&gt;                            &lt;span style=&quot;color:#b389c5;&quot;&gt;onItemClickListener&lt;/span&gt;.onItemClick(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                        &lt;/span&gt;}&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;imageDelete&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;                &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View view) {&lt;br /&gt;                    &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(&lt;span style=&quot;color:#b389c5;&quot;&gt;onItemClickListener &lt;/span&gt;!= &lt;span style=&quot;color:#cc7832;&quot;&gt;null&lt;/span&gt;) {&lt;br /&gt;                        &lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position = getAdapterPosition()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                        if &lt;/span&gt;(position != RecyclerView.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;NO_POSITION&lt;/span&gt;) {&lt;br /&gt;                            &lt;span style=&quot;color:#b389c5;&quot;&gt;onItemClickListener&lt;/span&gt;.onDeleteClick(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                        &lt;/span&gt;}&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;ExampleAdapter&lt;/span&gt;(ArrayList&amp;lt;ExampleItem&amp;gt; mExampleList) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;mExampleList &lt;/span&gt;= mExampleList&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;ExampleViewHolder &lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreateViewHolder&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ViewGroup viewGroup&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;i) {&lt;br /&gt;        View v = LayoutInflater.&lt;span style=&quot;font-style:italic;&quot;&gt;from&lt;/span&gt;(viewGroup.getContext()).inflate(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;item_layout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;viewGroup&lt;span style=&quot;color:#cc7832;&quot;&gt;, false&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;ExampleViewHolder viewHolder = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ExampleViewHolder(v&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;onItemClickListener&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        return &lt;/span&gt;viewHolder&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onBindViewHolder&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ExampleViewHolder holder&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;i) {&lt;br /&gt;        ExampleItem currentItem = &lt;span style=&quot;color:#9876aa;&quot;&gt;mExampleList&lt;/span&gt;.get(i)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color:#9876aa;&quot;&gt;imageView&lt;/span&gt;.setImageResource(currentItem.getmImageResource())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color:#9876aa;&quot;&gt;textView1&lt;/span&gt;.setText(currentItem.getmText1())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color:#9876aa;&quot;&gt;textView2&lt;/span&gt;.setText(currentItem.getmText2())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;getItemCount&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;mExampleList&lt;/span&gt;.size()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>android</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/79</guid>
      <comments>https://devatom.tistory.com/79#entry79comment</comments>
      <pubDate>Mon, 3 Dec 2018 14:39:43 +0900</pubDate>
    </item>
    <item>
      <title>imeOptions 사용</title>
      <link>https://devatom.tistory.com/77</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;imeOptions 사용&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:paddingEnd=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;16dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:paddingStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;16dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:paddingTop=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;200dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;com.codinginflow.imeoptionsexample.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/edit_text1&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Username&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:inputType=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;text&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/edit_text2&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Password&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:imeOptions=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;actionSend&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:inputType=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;textPassword&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;EditText editText1 = findViewById(R.id.edit_text1)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;EditText editText2 = findViewById(R.id.edit_text2)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;editText1.setOnEditorActionListener(&lt;span style=&quot;color:#9876aa;&quot;&gt;editorListener&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;editText2.setOnEditorActionListener(&lt;span style=&quot;color:#9876aa;&quot;&gt;editorListener&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;TextView.OnEditorActionListener &lt;span style=&quot;color:#9876aa;&quot;&gt;editorListener &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;TextView.OnEditorActionListener() {&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onEditorAction&lt;/span&gt;(TextView v&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;actionId&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;KeyEvent event) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;switch &lt;/span&gt;(actionId) {&lt;br /&gt;                &lt;span style=&quot;color:#cc7832;&quot;&gt;case &lt;/span&gt;EditorInfo.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;IME_ACTION_NEXT&lt;/span&gt;:&lt;br /&gt;                    Toast.makeText(MainActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Next&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    break;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                case &lt;/span&gt;EditorInfo.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;IME_ACTION_SEND&lt;/span&gt;:&lt;br /&gt;                    Toast.makeText(MainActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Send&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    break;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;return false;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>android</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/77</guid>
      <comments>https://devatom.tistory.com/77#entry77comment</comments>
      <pubDate>Thu, 25 Oct 2018 17:12:18 +0900</pubDate>
    </item>
    <item>
      <title>HashMap 사용방법</title>
      <link>https://devatom.tistory.com/76</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;HashMap 사용방법&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MapIterationSample {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public static void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;main&lt;/span&gt;(String[] agrs) {&lt;br /&gt;        Map&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String&amp;gt; map = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;HashMap&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;1&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;1&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;2&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;2&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;3&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;3&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;4&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;4&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;5&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;5&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;map.put(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;6&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;6&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;방법&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;Iterator&amp;lt;String&amp;gt; keys = map.keySet().iterator()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        while&lt;/span&gt;( keys.hasNext() ){&lt;br /&gt;            String key = keys.next()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println( String.&lt;span style=&quot;font-style:italic;&quot;&gt;format&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;key&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;map.get(key)) )&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;방법&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;2&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for&lt;/span&gt;( Map.Entry&amp;lt;String&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String&amp;gt; elem : map.entrySet() ){&lt;br /&gt;            System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println( String.&lt;span style=&quot;font-style:italic;&quot;&gt;format&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;elem.getKey()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;elem.getValue()) )&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#808080;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;방법&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;3&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for&lt;/span&gt;( String key : map.keySet() ){&lt;br /&gt;            System.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;out&lt;/span&gt;.println( String.&lt;span style=&quot;font-style:italic;&quot;&gt;format&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;키&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;값&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt; : %s&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;key&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;map.get(key)) )&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>android</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/76</guid>
      <comments>https://devatom.tistory.com/76#entry76comment</comments>
      <pubDate>Thu, 25 Oct 2018 15:34:12 +0900</pubDate>
    </item>
    <item>
      <title>Custom AutoCompleteTextView</title>
      <link>https://devatom.tistory.com/75</link>
      <description>&lt;h1 class=&quot;entry-title&quot; itemprop=&quot;headline&quot; style=&quot;border: 0px; padding: 0px; font-family: &amp;quot;Open Sans Coding Flow&amp;quot;; font-weight: 300; font-size: 40px; line-height: 1.2em; margin: 0px; color: rgb(2, 2, 2); text-align: center;&quot;&gt;Custom AutoCompleteTextView&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;AutoCompleteTextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/actv&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:completionThreshold=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Select a country&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;CountryItem&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;fillCountryList()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;AutoCompleteTextView editText = findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;actv&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;AutoCompleteAdapter adapter = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;AutoCompleteAdapter(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;editText.setAdapter(adapter)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;fillCountryList&lt;/span&gt;() {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;countryList &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;CountryItem(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Afghanistan&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;screenshot_11&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;CountryItem(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;albanaia&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;screenshot_12&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;CountryItem(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Algeria&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;screenshot_13&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryList&lt;/span&gt;.add(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;CountryItem(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Korea&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.drawable.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;screenshot_11&lt;/span&gt;))&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;CountryItem {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;countryName&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;flagImage&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;CountryItem&lt;/span&gt;(String countryName&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;flagImage) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;countryName &lt;/span&gt;= countryName&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;flagImage &lt;/span&gt;= flagImage&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getCountryName&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryName&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;getFlagImage&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;flagImage&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;horizontal&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:padding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;4dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;ImageView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/image_view_flag&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:src=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@drawable/screenshot_12&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;60dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;40dp&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/text_view_name&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_gravity=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;center_vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:paddingStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textAppearance=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;?android:attr/textAppearanceListItemSmall&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;korea&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Verdana';font-size:9.0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;class &lt;/span&gt;AutoCompleteAdapter &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;ArrayAdapter&amp;lt;CountryItem&amp;gt; {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;CountryItem&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;countryListFull&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;AutoCompleteAdapter&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;Context context&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;CountryItem&amp;gt; countryList) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;(context&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;countryList)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryListFull &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;(countryList)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;Filter &lt;span style=&quot;color:#ffc66d;&quot;&gt;getFilter&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;countryFilter&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;View &lt;span style=&quot;color:#ffc66d;&quot;&gt;getView&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;position&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Nullable &lt;/span&gt;View convertView&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ViewGroup parent) {&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(convertView == &lt;span style=&quot;color:#cc7832;&quot;&gt;null&lt;/span&gt;) {&lt;br /&gt;            convertView = LayoutInflater.&lt;span style=&quot;font-style:italic;&quot;&gt;from&lt;/span&gt;(getContext()).inflate(&lt;br /&gt;                    R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;country_autocomplete_row&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;parent&lt;span style=&quot;color:#cc7832;&quot;&gt;, false&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        TextView textView = convertView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;text_view_name&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;ImageView imageView = convertView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;image_view_flag&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;CountryItem countryItem = getItem(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        if &lt;/span&gt;(countryItem != &lt;span style=&quot;color:#cc7832;&quot;&gt;null&lt;/span&gt;) {&lt;br /&gt;            textView.setText(countryItem.getCountryName())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;imageView.setImageResource(countryItem.getFlagImage())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;convertView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;Filter &lt;span style=&quot;color:#9876aa;&quot;&gt;countryFilter &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Filter() {&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected &lt;/span&gt;FilterResults &lt;span style=&quot;color:#ffc66d;&quot;&gt;performFiltering&lt;/span&gt;(CharSequence constraint) {&lt;br /&gt;&lt;br /&gt;            FilterResults results = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;FilterResults()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;List&amp;lt;CountryItem&amp;gt; suggestions = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            if &lt;/span&gt;(constraint == &lt;span style=&quot;color:#cc7832;&quot;&gt;null &lt;/span&gt;|| constraint.length() == &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;) {&lt;br /&gt;                suggestions.addAll(&lt;span style=&quot;color:#9876aa;&quot;&gt;countryListFull&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;} &lt;span style=&quot;color:#cc7832;&quot;&gt;else &lt;/span&gt;{&lt;br /&gt;                String filterPattern = constraint.toString().toLowerCase().trim()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                for &lt;/span&gt;(CountryItem item : &lt;span style=&quot;color:#9876aa;&quot;&gt;countryListFull&lt;/span&gt;) {&lt;br /&gt;                    &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(item.getCountryName().toLowerCase().contains(filterPattern)) {&lt;br /&gt;                        suggestions.add(item)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;}&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            results.&lt;span style=&quot;color:#9876aa;&quot;&gt;values &lt;/span&gt;= suggestions&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;results.&lt;span style=&quot;color:#9876aa;&quot;&gt;count &lt;/span&gt;= suggestions.size()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            return &lt;/span&gt;results&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;publishResults&lt;/span&gt;(CharSequence constraint&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;FilterResults results) {&lt;br /&gt;            clear()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;addAll((List) results.&lt;span style=&quot;color:#9876aa;&quot;&gt;values&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;notifyDataSetChanged()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;CharSequence &lt;span style=&quot;color:#ffc66d;&quot;&gt;convertResultToString&lt;/span&gt;(Object resultValue) {&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;((CountryItem) resultValue).getCountryName()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 671px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9943E4435BCED72523&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9943E4435BCED72523&quot; width=&quot;671&quot; height=&quot;489&quot; filename=&quot;Screenshot_14.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>android</category>
      <author>구름나드리</author>
      <guid isPermaLink="true">https://devatom.tistory.com/75</guid>
      <comments>https://devatom.tistory.com/75#entry75comment</comments>
      <pubDate>Tue, 23 Oct 2018 16:48:01 +0900</pubDate>
    </item>
  </channel>
</rss>