我正在开发一个Android应用程序。现在我创建了一个创建自定义对话框的功能,我想在每个活动上显示此对话框。所以我需要在每个活动中调用此函数。但是作为自定义对话框的语法(例如Dialog d = new Dialog(home.this))。home是我创建函数的活动的名称,所以我不能在任何其他活动中使用此函数。我没有那么多使用android。所以给我一个很好的例子来解决我的问题。 Here is my code
答案 0 :(得分:2)
以下是在所有活动中使用AlertDialog
的示例代码。
创建一个类文件,如allmethod.java
并在该类中添加此代码
public static void showAlert(Activity act,String msg)
{
AlertDialog.Builder alert = new AlertDialog.Builder(act);
alert.setMessage(msg).setPositiveButton("OK", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which)
{
}
}).show();
}
你可以在任何类中使用
allmethod.showAlert(Activity,"Message");
在您的情况下..
public void SearchDialog(Context ctx){
final Dialog dialog = new Dialog(ctx);
dialog.setContentView(R.layout.dialogsearch);
dialog.setTitle(" Enter The Text to Search");
dialog.setCancelable(true);
final EditText Text = (EditText) dialog.findViewById(R.id.EdText);
Button buttonOK = (Button) dialog.findViewById(R.id.btnOK);
buttonOK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String SearchText = Text.getText().toString();
prefsPrivate =getSharedPreferences(Login.PREFS_PRIVATE,Context.MODE_PRIVATE);
Editor prefsPrivateEdit=prefsPrivate.edit();
prefsPrivateEdit.putString("Text",SearchText);
prefsPrivateEdit.commit();
Intent i = new Intent(ctx,SearchTask.class);
startActivity(i);
dialog.cancel();
}
});
Button buttonCancel = (Button) dialog.findViewById(R.id.btnCancel);
buttonCancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.cancel();
}
});
dialog.show();
}
答案 1 :(得分:0)
只需在Context
构造函数中添加SearchDialog()
参数即可。
像这样:
public SearchDialog(Context context){
//....
}
答案 2 :(得分:0)
您可以为每个类定义自己的接口和实现,或者使主Activity方法成为静态(只要它不需要访问非方法参数的动态对象中的任何内容)。
答案 3 :(得分:0)
final class Uutil {
public void static func(){
}
}
然后在你的课程中进行:
class A {
public void f() {
Uutil.func();
}
}