Это то, что вы хотите:
class MainActivity : AppCompatActivity() {
lateinit var dialog: Dialog
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
buttonOne.setOnClickListener {
showDialog(View.OnClickListener { Toast.makeText(this@MainActivity, "Button one clicked", Toast.LENGTH_LONG).show() })
}
buttonTwo.setOnClickListener {
dialog = showDialog(View.OnClickListener { dialog.dismiss() })
}
}
private fun showDialog(clickListener: View.OnClickListener): Dialog {
val alertDialog = AlertDialog.Builder(this@MainActivity).create()
alertDialog.setTitle("This is title")
alertDialog.setMessage("This is message")
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK") { _, _ -> clickListener.onClick(null) }
alertDialog.show()
return alertDialog
}
}
Теперь вы можете получить доступ к dialog
всюду в MainActivity
Использование %
и groupby
df[['avg_odd', 'avg_even']] = df.groupby(np.arange(df.shape[1]) % 2, axis=1).mean()
col1 col2 col3 col4 col5 col6 avg_even avg_odd
0 1 7 56 16.0 1.0 13 12.000000 19.333333
1 2 45 67 NaN 9.0 3 24.000000 26.000000
2 3 12 8 25.0 23.0 53 30.000000 11.333333
3 4 56 12 6.0 56.0 72 44.666667 24.000000
4 5 14 39 19.0 NaN 88 40.333333 22.000000
df = df.assign(avg_even = df[df.columns[::2]].mean(axis=1),
avg_odd = df[df.columns[1::2]].mean(axis=1))
Простой и прямой