Last active
February 28, 2022 00:11
-
-
Save hrbullon/d249f305ffaa6d7a29d98ede189690af to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##Launching Fragment with args | |
val fragment = EditStoreFragment() | |
if(args != null) fragment.arguments = args | |
val fragmentManager = supportFragmentManager | |
val fragmentTransaction = fragmentManager.beginTransaction() | |
fragmentTransaction.add(R.id.containerMain, fragment) | |
fragmentTransaction.addToBackStack(null) | |
fragmentTransaction.commit() | |
##Get Arguments | |
val id = arguments?.getLong(getString(R.string.arg_id),0) | |
if(id != null && id !=0L){ | |
Toast.makeText(view.context, id.toString(), Toast.LENGTH_SHORT).show() | |
}else{ | |
Toast.makeText(view.context, id.toString(), Toast.LENGTH_SHORT).show() | |
} | |
##End Launching Fragment | |
########################################################################## | |
=======================Room================================== | |
#############TableEntity with Room###################### | |
@Entity(tableName = "StoreEntity") | |
data class StoreEntity( | |
@PrimaryKey(autoGenerate = true) var id: Long = 0, | |
var name: String, | |
var phone: String = "", | |
var website: String = "", | |
var photoUrl: String = "", | |
var isFavorite: Boolean = false | |
) | |
#################End Room Codes######################## | |
################ Dialog builder######################## | |
MaterialAlertDialogBuilder(this) | |
.setTitle(R.string.dialog_delete_title) | |
.setPositiveButton(getString(R.string.delete_confirm), { dialog, which -> | |
doAsync { | |
StoreApplication.database.storeDao().deleteStore(storeEntity) | |
uiThread { | |
mAdapter.delete(storeEntity) | |
} | |
} | |
}) | |
.setNegativeButton(getString(R.string.delete_cancel), null) | |
.show() | |
================Options======================= | |
val items = arrayOf("Delete","Call","Go to WebSite") | |
MaterialAlertDialogBuilder(this) | |
.setItems(items, { dialog, which -> | |
when(which){ | |
0 -> confirmDelete(storeEntity) | |
1 -> Toast.makeText(this, "Llamar", Toast.LENGTH_SHORT).show() | |
2 -> Toast.makeText(this, "Website", Toast.LENGTH_SHORT).show() | |
} | |
}) | |
.show() | |
#############End Dialog Builder######################## | |
################Intent ################################ | |
=================Calling or Dial====================== | |
val callIntent = Intent().apply { | |
action = Intent.ACTION_DIAL | |
data = Uri.parse("tel:$phone") | |
} | |
if(callIntent.resolveActivity(packageManager) != null){ | |
startActivity(callIntent) | |
}else{ | |
Toast.makeText(this, getString(R.string.erro_no_compatible_apps), Toast.LENGTH_LONG).show() | |
} | |
=================WebSite=============================== | |
val websiteIntent = Intent().apply { | |
action = Intent.ACTION_VIEW | |
data = Uri.parse(website) | |
} | |
if(websiteIntent.resolveActivity(packageManager) != null){ | |
startActivity(websiteIntent) | |
}else{ | |
Toast.makeText(this, getString(R.string.erro_no_compatible_apps), Toast.LENGTH_LONG).show() | |
} | |
==============Settings Intentds en Manifest================= | |
<intent> | |
<action android:name="android.intent.action.DIAL"/> | |
</intent> | |
<intent> | |
<action android:name="android.intent.action.VIEW"/> | |
<data android:scheme="https"/> | |
<category android:name="android.intent.category.BROWSABLE" /> | |
</intent> | |
#############ITEMS OTIONS ARRAY RESOURCES#################### | |
<resources> | |
<string-array name="array_options_item"> | |
<item>Delete</item> | |
<item>Call</item> | |
<item>Go to Website</item> | |
</string-array> | |
</resources> | |
val items = resources.getStringArray(R.array.array_options_item) | |
#############END ITEMS OTIONS ARRAY RESOURCES#################### | |
###############Navigation Bottom############################# | |
private fun setupBottomNav(){ | |
val homeFragment = HomeFragment() | |
val addFragment = AddFragment() | |
val profileFragment = ProfileFragment() | |
mFragmentManager = supportFragmentManager | |
mFragmentManager.beginTransaction().add(R.id.hostFragment,profileFragment, | |
ProfileFragment::class.java.name) | |
.hide(profileFragment) | |
.commit() | |
mFragmentManager.beginTransaction().add(R.id.hostFragment,addFragment, | |
AddFragment::class.java.name) | |
.hide(addFragment) | |
.commit() | |
mFragmentManager.beginTransaction().add(R.id.hostFragment,homeFragment, | |
HomeFragment::class.java.name) | |
.commit() | |
mBinding.bottomNav.setOnItemSelectedListener { | |
when(it.itemId){ | |
R.id.action_home -> { | |
mFragmentManager.beginTransaction().hide(mActiveFragment).show(homeFragment).commit() | |
mActiveFragment = homeFragment | |
true | |
} | |
R.id.action_add -> { | |
mFragmentManager.beginTransaction().hide(mActiveFragment).show(addFragment).commit() | |
mActiveFragment = addFragment | |
true | |
} | |
R.id.action_profile -> { | |
mFragmentManager.beginTransaction().hide(mActiveFragment).show(profileFragment).commit() | |
mActiveFragment = profileFragment | |
true | |
} | |
else -> false | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment