|
1 | 1 | package com.omega_r.base.simple |
2 | 2 |
|
| 3 | +import android.os.Bundle |
3 | 4 | import android.view.View |
4 | 5 | import androidx.recyclerview.widget.RecyclerView |
5 | 6 | import com.omega_r.base.adapters.OmegaAutoAdapter |
| 7 | +import com.omega_r.base.adapters.OmegaListAdapter |
6 | 8 | import com.omega_r.base.annotations.OmegaContentView |
7 | 9 | import com.omega_r.base.binders.IdHolder |
8 | 10 | import com.omega_r.base.components.OmegaActivity |
| 11 | +import com.omega_r.libs.omegatypes.Image |
9 | 12 | import com.omega_r.libs.omegatypes.Text |
| 13 | +import com.omega_r.libs.omegatypes.from |
| 14 | +import com.omegar.libs.omegalaunchers.createActivityLauncher |
| 15 | +import com.omegar.libs.omegalaunchers.tools.put |
10 | 16 | import com.omegar.mvp.presenter.InjectPresenter |
11 | 17 |
|
12 | 18 | @OmegaContentView(R.layout.activity_main) |
13 | 19 | class MainActivity : OmegaActivity(), MainView { |
14 | 20 |
|
| 21 | + companion object { |
| 22 | + |
| 23 | + private const val EXTRA_TITLE = "title" |
| 24 | + |
| 25 | + fun createLauncher(title: String) = createActivityLauncher( |
| 26 | + EXTRA_TITLE put title |
| 27 | + ) |
| 28 | + |
| 29 | + } |
| 30 | + |
15 | 31 | @InjectPresenter |
16 | 32 | override lateinit var presenter: MainPresenter |
17 | 33 |
|
18 | | - private val adapter = OmegaAutoAdapter.create(R.layout.item_test, R.layout.item_test2, ::onClickItem) { |
19 | | - bind(R.id.textview_test, Item::text) |
20 | | - bindClick(R.id.textview_test1) { |
21 | | - showToast(Text.from("MENU!")) |
22 | | - } |
23 | | - bindRecycler(R.id.recyclerview, R.layout.item_test, Item::list) { |
24 | | - bind(R.id.textview_test, SubItem::text) |
25 | | - } |
| 34 | + private val adapter = OmegaAutoAdapter.create(R.layout.item_test_3, ::onClickItem) { |
| 35 | + bindImage(R.id.imageview) |
26 | 36 | }.apply { |
27 | | - list = listOf(Item(), Item()) |
| 37 | + watcher = OmegaListAdapter.ImagePreloadWatcher(this) |
| 38 | + list = listOf( |
| 39 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?156"), |
| 40 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?256"), |
| 41 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?35"), |
| 42 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?45"), |
| 43 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?56"), |
| 44 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?64"), |
| 45 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?79"), |
| 46 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?85"), |
| 47 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?91"), |
| 48 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?102"), |
| 49 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?113"), |
| 50 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?124"), |
| 51 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?135"), |
| 52 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?146"), |
| 53 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?1578"), |
| 54 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?169"), |
| 55 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?174"), |
| 56 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?185"), |
| 57 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?1956"), |
| 58 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?201"), |
| 59 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?212"), |
| 60 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?2212"), |
| 61 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?231"), |
| 62 | + Image.from("https://i.pinimg.com/originals/d6/68/ab/d668abc72809303852c27275e6a56775.gif?242") |
| 63 | + ) |
28 | 64 | } |
29 | 65 |
|
30 | | - private val recyclerView: RecyclerView by bind(R.id.recyclerview, adapter) |
| 66 | + private val recyclerView: RecyclerView by bind(R.id.recyclerview, adapter) { |
| 67 | + recyclerView.setHasFixedSize(true) |
| 68 | + } |
31 | 69 |
|
32 | 70 | private val maps: Map<Field, View> by bind(Field.values()) { |
33 | 71 | showToast(Text.from(it.id.toString())) |
34 | 72 | } |
35 | 73 |
|
36 | | - private fun onClickItem(item: Item) { |
| 74 | + |
| 75 | + override fun onCreate(savedInstanceState: Bundle?) { |
| 76 | + super.onCreate(savedInstanceState) |
| 77 | + title = intent.getStringExtra(EXTRA_TITLE) |
| 78 | + } |
| 79 | + |
| 80 | + private fun onClickItem(item: Image) { |
37 | 81 | showToast(Text.from("Click $item")) |
| 82 | + |
| 83 | +// ActivityLauncher.launch(this, null, createLauncher("1"), createLauncher("2")) |
| 84 | + |
| 85 | + createLauncher("1").launch(this, createLauncher("2")) |
38 | 86 | } |
39 | 87 |
|
40 | | - data class Item (val text: String = "123", val list: List<SubItem> = listOf(SubItem(), SubItem(), SubItem(), SubItem(), SubItem(), SubItem(), SubItem(), SubItem(), SubItem(), SubItem())) |
| 88 | + data class Item( |
| 89 | + val text: String = "123", |
| 90 | + val list: List<SubItem> = listOf( |
| 91 | + SubItem(), |
| 92 | + SubItem(), |
| 93 | + SubItem(), |
| 94 | + SubItem(), |
| 95 | + SubItem(), |
| 96 | + SubItem(), |
| 97 | + SubItem(), |
| 98 | + SubItem(), |
| 99 | + SubItem(), |
| 100 | + SubItem() |
| 101 | + ) |
| 102 | + ) |
41 | 103 |
|
42 | | - data class SubItem (val text: String = "123") |
| 104 | + data class SubItem(val text: String = "123") |
43 | 105 |
|
44 | 106 | enum class Field(override val id: Int) : IdHolder { |
45 | 107 | ITEM1(R.id.recyclerview), |
|
0 commit comments