본문 바로가기
728x90

안드로이드/AdapterView18

안드로이드 recycler adapter onclick 함수 레퍼런스 메소드로 넒겨준다 private val adapter = ProductCardListAdapter(::onItemClicked, ::onFavoriteIconClicked) private fun onItemClicked(viewState: ProductCardViewState) { findNavController().navigate(ProductListFragmentDirections.actionProductListFragmentToProductDetailsFragment()) } private fun onFavoriteIconClicked(viewState: ProductCardViewState){ viewModel.favoriteIconClicked(viewState.id) } 2023. 2. 6.
안드로이드 recycler AdapterView data binding 적용 list_item.xml ReyclerViewAdapter import android.view.LayoutInflater import android.view.ViewGroup import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.anushka.roomdemo.databinding.ListItemBinding import com.anushka.roomdemo.db.Subscriber class MyRecyclerViewAdapter(private val subscribersList: List) : RecyclerView.Adapter() { override fun onCrea.. 2022. 11. 26.
아느로이드 DrawerLayout 좌측 상단의 네비게이션 버튼을 누르면 좌측에서 메뉴가 나타나는 UI 이다. 대부분이 구현되어 있으므로 필요한 부분만 변경해서 사용한다. Navigation Drawer Activity를 선택한다. 구조 activity_main.xml 은 와 nav_view 로 구성되어 있다. 는 다른 layout을 포함시키는 요소인데 프래그먼트가 교체되는 화면 부분에 해당한다. nav_view는 좌측에서 나타나는 메뉴에 해당한다. nav_view 좌측에서 나타나는 메뉴를 관리하는 view이다 activity_main.xml 의 는 다른 layout 파일을 포함시키는 요소이다. 여기에서는 app_bar_main.xml 을 포함하고 있다. 이 부분에는 상단에 툴바가 설정되어 있고 하단에는 FloatingActionButto.. 2022. 6. 20.
안드로이드 TabLayout Appbar Layout에 TabBarLayout과 ViewPager를 통해 탭을 구성할 수 있다. TabLayoutMediator 기능 사용할려면 com.google.android.material 설치 package com.example.tablayout import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import androidx.viewpager2.adapter.FragmentStateAdapter import com... 2022. 6. 20.
안드로이드 AppBar Layout AppBar Layout은 ToolBar와 다른 View들을 관리하기 위해 제공되는 Layout이다. AppBar Layout은 반드시 CoordinatorLayout 안에 포함되어 있어야 한다. AppBar Layout는 CoordinatorLayout 를 통해 다른 View들과 연동될 수 있다. CordinatorLayout CoordinatorLayout은 View를 배치하기 보단 배치된 View들을 관리하기 위한 목적으로 사용한다. CoordinatorLayout에 배치된 View에서 어떠한 사건이 발생하면 이를 감지하여 배치된 다른 View 들에게 전달하거나 스스로 어떤 처리를 할 수 있는 Layout 이다. 여기에서는 스크롤 가능한 ToolBar를 만드는데 사용한다. package com.ex.. 2022. 6. 20.
안드로이드 ViewPager2 2020년 중순 경에 추가된 View ViewPager는 View를 전환할 수 있도록 제공되며 ViewPager2는 Fragment를 전환할 수 있도록 제공된다. package com.example.viewpager2 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import androidx.viewpager2.adapter.FragmentStateAdapter import kotlinx.android.synthetic.main.activity_main.* // Fragem.. 2022. 6. 20.
안드로이드 RecyclerView Android 5.0 때 추가된 View 이다. ListView와 GridView의 구현이 비슷한 부분이 많이 이를 통합한 View이다. RecyclerView는Adapter를 직접 구현해 줘야 하며 이를 통해 항목을 자유롭게 구성할 수 있다. RecyclerView는 반드시 항목들을 어떠한 형태로 보여줄 것인가를 설정해야 한다. ViewHoler 만들기 ViewHolder 클래스는 항목 하나를 구성하는 View 들의 주소 값을 가지고 있는 클래스이다. 이 클래스는 RecyclerView의 Adapter 클래스 내부에 구현하여 준다. inner class ViewHolderClass(itemView : View) : RecyclerView.ViewHolder(itemView) { val rowImageV.. 2022. 6. 7.
안드로이드 MultiChoiceListView 다수의 항목을 제공하고 항목 중 다수를 선택할 수 있는 ListView 이다. ListView의 Mode를 변경하여 설정한다. Mode 설정 구현 방법은 ListView와 동일하며 ListView를 MultiChoice로 설정해준다. list1.choiceMode = ListView.CHOICE_MODE_MULTIPLE 코드처리 사용자가 선택한 항목이 무엇인지 파악해야 할 때 ListView의 checkedItemPositions 프로퍼티를 활용한다. 이 프로퍼티는 SparseBooleanArray라는 클래스의 객체가 담겨져 있는데 이 객체에는 true가 설정된 항목과 체크 상태가 변경된적이 있는 항목의 인덱스 번화 체크 상태 값을 가지고 있다. package com.example.multichoicel.. 2022. 6. 7.
안드로이드 SingleChoiceListView 다수의 항목을 제공하고 항목 중 하나를 선택할 수 있는 ListView 이다. ListView의 Mode를 변경하여 설정한다. Mode 설정 구현 방법은 ListView와 동일하며 ListView를 SingleChoice로 설정해준다. list1.choiceMode = ListView.CHOICE_MODE_SINGLE 코드처리 사용자가 선택한 항목이 무엇인지 파악해야 할 때 ListView의 checkedItemPosition 프로퍼티를 이용해 현재 선택된 항목이 무엇인지 파악한다. package com.example.singlechoicelistview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import andr.. 2022. 6. 7.
안드로이드 MultiAutoCompleteTextView AutoCompleteTextView와 거의 동일하며 구분자를 활용해 여러 문자열을 동시에 입력 받을 수 있는 AdapterView이다. 주요속성 completionThreshold : 몇 글자를 입력했을 때 자동완성 리스트가 나타날지 설정한다. 주요 메서드 setTokenizer : 구문자를 설정한다. 본 강좌에서는 기본으로 제공되는 구분자를 사용한다. setAdapter : AutoCompleteTextView는 Adapter를 메서드를 통해 설정한다. 주요 프로퍼티 text : 사용자가 입력한 문자열 값 주요 이벤트 ItemClick : 제공되는 자동완성 리스트의 항목을 클릭할 경우 발생한다. package com.example.multiautocompletetextview import androi.. 2022. 6. 7.
안드로이드 AutoCompleteTextView EditText에 자동완성 기능을 추가한 View 이다. 사용자가 문자열을 입력하면 설정한 문자열 항목을 통해 자동완성 리스트를 제공한다. 주요 속성 completionThreshold : 몇 글자를 입력했을 때 자동완성 리스트가 나타날지 설정한다. 주요 메서드 setAdapter : AutoCompleteTextView는 Adapter를 메서드를 통해 설정한다. 주요 프로퍼티 text : 사용자가 입력한 문자열 값 주요 이벤트 ItemClick : 제공되는 자동완성 리스트의 항목을 클릭할 경우 발생한다. package com.example.autocompletetextview import androidx.appcompat.app.AppCompatActivity import android.os.Bundl.. 2022. 6. 7.
안드로이드 ViewPager 좌우로 스와프 하면서 View를 전환하는 AdapterView이다. 화면이 바뀌는 것이 아닌 화면의 크기만한 View들을 생성하여 View들을 전환하는 개념이다. 현재 ViewPager를 업그레이드한 ViewPager2를 제공하고 있다. ViewPager, ViewPager2 모두 정상 작동하며 ViewPager는 View를 전환할 때, ViewPager2는 프래그먼트라는 것을 전환할 때 사용한다. 구현 ViewPager는 PagerAdapter를 구현하여 사용한다. PagerAdapter에서는 다음 메서드를 구현한다. getCount : ViewPager로 보여줄 View의 전체 개수 instantiateItem : ViewPager로 보여줄 View 객체를 생성한다. isViewFromObject :.. 2022. 6. 7.
안드로이드 GridView ListView와 거의 동일하며 항목을 그리드 형태로 보여 줄 수 있는 View 이다. 주요 속성 numColumns : 그리드로 구성할 칸의 개수. auto_fit 으로 설정하면 디바이스에 맞게 자동으로 구성된다. 주요 이벤트 ItemClick : 사용자가 항목을 선택했을 경우. package com.example.gridview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.AdapterView import android.widget.ArrayAdapter import kotlinx.android.synthetic.main.activi.. 2022. 6. 7.
안드로이드 Spinner 사용자에게 항목을 주고 산택 하게 할 수 있는 AdapterView 작은 스마트폰 화면을 효율적으로 사용할 수 있다는 장점을 가지고 있다. 주요 속성 spinnerMode : 나타나는 메뉴 항목의 타입을 설정한다. 주요 프로퍼티 selectedItemPosition : 현재 선택되어 있는 항목이 인덱스(0 부터 시작)를 관리한다. adapter : View 구성을 위한 Adapter를 관리한다. onItemSelectedListener : 항목을 선택했을 때 사용할 리스너를 설정한다. 주요 이벤트 ItemSelected : 사용자가 항목을 선택했을 경우. 이 이벤트의 리스너는 프로퍼티로 설정한다. package com.example.spinner import androidx.appcompat.app.Ap.. 2022. 6. 7.
안드로이드 CustomAdapter AdapterView의 항목을 자유롭게 디자인해서 사용할 때는 SimpleAdapter 만으로도 충분하다. 하지만 AdapterView 자체를 커스터마이징하여 특별한 기능을 부여하고 싶을 때는 Adapter 클래스를 구현하면된다. BaseAdapter BaseAdapter를 상속받아 다음 메서드를 구현하면 된다. getCount : AdapterView를 통해 보여줄 항목의 개수를 반환한다. getView : AdapterView를 통해 보여줄 항목의 View를 반환한다. package com.example.customadapter import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View.. 2022. 6. 7.
안드로이드 Custom ListView 2 SimpleAdapter 개발자가 ListView 의 항목을 자유롭게 디자인 했을 때 사용하는 Adapter Class이다. ListView의 항목 내에 배치된 View들을 직접 지정하면서 데이터를 설정할 수 있다. package com.example.customlistview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.SimpleAdapter import kotlinx.android.synthetic.main.activity_main.* import java.util.* class MainActivity : AppCompatActivity() { val imgRes = intA.. 2022. 6. 7.
안드로이드 Custom ListView1 기본으로 제공되는 layout 파일 대신해 개발자가 직접 작성한 layout을 이용해 ListView를 구성할 수 있다. ListView 뿐만 아니라 모든 AdapterView는 동일한 방법으로 설정이 가능하다. 여기서는 문자열 하나를 설정하는 방법을 살펴본다. ArrayAdapter ArrayAdapter를 이용해 Adapter 객체를 만들 때 개발자가 작성한 layout 파일을 지정할 수 있다. 두 번째 매개 변수로 layout 파일을, 세 번째 layout 파일 내에서 문자열을 설정한 View의 아이디를 설정한다. package com.example.customlistview1 import androidx.appcompat.app.AppCompatActivity import android.os.Bu.. 2022. 6. 6.
안드로이드 ListView 주요 프로퍼티 adapter : AdapterView를 구성하기 위해 사용하는 adapter를 관리한다. 주요 이벤트 ItemClick : 항목을 터치하면 발생된다. package com.example.listview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Adapter import android.widget.AdapterView import android.widget.ArrayAdapter import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppC.. 2022. 6. 2.
728x90