JavaScript | Как сделать доступным некоторые разделы приложения
В моём приложений есть 6-ой раздел, который доступен для тех, кто приобрел Pro версию. Хотел бы добавить к 4-ому разделу Pro доступ. Код представлен ниже: Думаю здесь нужно добавить 4-раздел
javascript
class LibraryFragment : Fragment() { var expandableListView: ExpandableListView? = null var expandableListAdapter: ExpandableListAdapter? = null var expandableListTitle: List<String>? = null var expandableListDetail: LinkedHashMap<String, List<Int>>? = null private var doubleBackToExitPressedOnce = false private var isPurchasedKey = false lateinit var sPref: SharedPreferences private var prefPurchaseKey = Constants.PREF_PURCHASED_KEY_PRO override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { if (doubleBackToExitPressedOnce) { requireActivity().finish() return } doubleBackToExitPressedOnce = true Toast.makeText(requireActivity(), getString(R.string.toast), Toast.LENGTH_SHORT).show() Handler().postDelayed(Runnable { doubleBackToExitPressedOnce = false }, 2000) } }) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_library, container, false) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.library_menu, menu) super.onCreateOptionsMenu(menu, inflater) } override fun onOptionsItemSelected(item: MenuItem): Boolean { when(item.itemId){ R.id.searchArticles->{ findNavController().navigate(R.id.navigation_search_texts) } R.id.favoritesTexts->{ val intent = Intent(context, FavoriteTextActivity::class.java) startActivity(intent) } } return super.onOptionsItemSelected(item) } override fun onStart() { super.onStart() sPref = requireActivity().getSharedPreferences("Settings", Context.MODE_PRIVATE) isPurchasedKey = sPref.getBoolean(prefPurchaseKey, false) expandableListView = view?.findViewById(R.id.expandableListView) as ExpandableListView expandableListDetail = LibraryListDataPump.getData() as LinkedHashMap<String, List<Int>>? expandableListTitle = ArrayList(expandableListDetail!!.keys) expandableListAdapter = LibraryExpandableListAdapter( activity, expandableListTitle, null, isPurchasedKey ) expandableListView!!.setAdapter(expandableListAdapter) expandableListView!!.setOnGroupExpandListener { groupPosition -> if (groupPosition != 6) { openLibrary?hapter(groupPosition) } else { if (isPurchasedKey) { openLibrary?hapter(groupPosition) } else { showKeyDialog( "Раздел доступен только Pro версии", "Чтобы получить доступ к разделу, купите Pro версию в настройках приложения.", "Перейти в настройки", "Отменить") } } } } fun showKeyDialog(header: String, message: String, positiveButtonText:String, negativeButtonText:String){ var builder = AlertDialog.Builder(activity) builder.setMessage(message) builder.setTitle(header) builder.setPositiveButton(positiveButtonText) { dialogInterface: DialogInterface, i: Int -> dialogInterface.cancel() val i= Intent(activity, SettingsActivity::class.java) startActivity(i) } builder.setNegativeButton(negativeButtonText) { dialogInterface: DialogInterface, i: Int -> dialogInterface.cancel() } builder.create().show() } private fun openLibrary?hapter(groupPosition: Int) { val i = Intent(activity, SubLibraryListActivity::class.java) val l: ArrayList<List<Int>> = ArrayList<List<Int>>(expandableListDetail!!.values) i.putExtra("LibraryGroupID", (groupPosition + 1).toString()) i.putExtra("LibraryGroupTitle", (expandableListTitle as ArrayList<String>)[groupPosition]) i.putExtra("LibraryList", l[groupPosition] as java.util.ArrayList<Int>) startActivity(i) } } javascript
if (groupPosition != 6) { openLibrary?hapter(groupPosition) } else { if (isPurchasedKey) { openLibrary?hapter(groupPosition) } else { showKeyDialog( "Раздел доступен только Pro версии", "Чтобы получить доступ к разделу, купите Pro версию в настройках приложения.", "Перейти в настройки", "Отменить") } }
кто поможет, тому 50р если будет работать как надо
320517996 (29.03.2022 в 09:30) }[/hljs] Думаю здесь нужно добавить 4-раздел
javascript
if (groupPosition != 6) { openLibrary?hapter(groupPosition) } else { if (isPurchasedKey) { openLibrary?hapter(groupPosition) } else { showKeyDialog( "Раздел доступен только Pro версии", "Чтобы получить доступ к разделу, купите Pro версию в настройках приложения.", "Перейти в настройки", "Отменить") } } php
groupPosition != 6 or groupPosition != 4 Elenrill (29.03.2022 в 11:32)
А это сработает?
php
groupPosition != 6 or groupPosition != 4 320517996 (29.03.2022 в 17:01)
А это сработает?
А это сработает?
В душе не чаю.
Elenrill (29.03.2022 в 17:32)
В душе не чаю.
В душе не чаю.
Как бы идёт and, а не or
320517996 (29.03.2022 в 17:01) А это сработает?
php
groupPosition != 6 AND groupPosition != 4 php
if (groupPosition != 6 && groupPosition != 4) {
Так какой правильный вариант?
FullTwo , Так какой правильный вариант?
Стр.: 1, 2