是否可以从Intent调用对话框。我有两个Activity RegisterActivity和AuthenticActivity,我在RegisterActivity上实现了自定义对话框,但我还需要在AuthenticActivity上使用相同的对话框。那么我们如何才能在AuthenticActivity上获得该对话框。我们可以从Intent获得,请建议我吗?我不想在两个Activity上编写代码。
答案 0 :(得分:1)
拥有一个BaseActivity,你可以在其中使用通用代码,在你的情况下有一个 公共方法。您的RegisterActivity和AuthenticActivity都应该扩展BaseActivity。
公共类BaseActivity扩展了AppCompatActivity {
public void displayCommonDialog() {
View v = getLayoutInflater().inflate(R.layout.fragment_manage_account_dialog, null);
........ ........
}
}
public class RegisterActivity扩展了BaseActivity {
........ ......... ........
//调用对话框 displayCommonDialog();
}
您可以使用interface或EventBus库来触发事件/具有回调侦听器以捕获对话框中的单击事件。
答案 1 :(得分:0)
短awnser:使用BroadcastReceiver。
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_EXECUTE_EXAMPLE_TEST)) {
//Do whatever you want
}
}
亲自检查here。在清单上添加它,然后您就可以在活动中收到意图;)
答案 2 :(得分:0)
使用静态常量方法,
list(matrix)
['[', '[', '2', ',', ' ', '0', ',', ' ', '4', ']', ',', ' ', '[', '1', ',', ' ', '2', ',', ' ', '4', ']', ',', ' ', '[', '4', ',', ' ', '4', ',', ' ', '2', ']', ']']
x = [int(a) for a in matrix]
builtins.TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
matrix.split(',')
['[[2', '0', '4]', '[1', '2', '4]', '[4', '4', '2]]']
要调用此方法,您只需要编写,
fin_result = 0
def perform_check():
print("Enter form \n [[a,b,c] \n [d,e,f] \n [g,h,i]]")
#ask_for_input = [[4,-1,1],[4,5,3],[-2,0,0]]
ask_for_input = [[2,0,4],[1,2,4],[4,4,2]]
print(type(ask_for_input))
#call function to cont
calculate_determinate_matrix(ask_for_input)
def calculate_determinate_matrix(matrix3x3):
matrix_list2x2 = []
matrix_list2x2.append([[matrix3x3[1][1], matrix3x3[1][2]], [matrix3x3[2][1], matrix3x3[2][2]]])
matrix_list2x2.append([[matrix3x3[1][0], matrix3x3[1][2]],[matrix3x3[2][0], matrix3x3[2][2]]])
matrix_list2x2.append([[matrix3x3[1][0], matrix3x3[1][1]],[matrix3x3[2][0], matrix3x3[2][1]]])
count = 0
for count, matrix_2x2 in enumerate(matrix_list2x2):
if count % 2 == 1:
calculate_2x2_matrix(matrix_2x2, matrix3x3[0][count] * -1)
else:
calculate_2x2_matrix(matrix_2x2, matrix3x3[0][count])
def calculate_2x2_matrix(matrix, mult):
global fin_result
result = matrix[0][0] * matrix[1][1]
result_2 = matrix[0][1] * matrix[1][0]
fin_result += mult * (result - result_2)
def main():
perform_check()
print(fin_result)
if __name__ == "__main__":
main()