android - 如何为不同的 Activity 实现对话?

标签 android android-activity dialog

我想在不同的 Activity 中显示相同的对话框。我试图制作一个 BaseActivitiy。 Activity 扩展了我的 BaseActivity。到目前为止一切正常,但现在我想更新在对话框关闭时显示对话框的 Activity。在我的例子中,更新意味着用来自 SQLite 数据库的数据填充 ListView 。

我还尝试检索类名以使用这些 Activity 的更新方法。但是不可能将更新方法更改为静态,因为非静态 SQL 方法...

你有什么想法吗?

Activity :

    public class MyActivity extends Dialogs {
        ...
        @Override  
        public boolean onContextItemSelected(MenuItem item) { 
            AdapterContextMenuInfo info = (AdapterContextMenuInfo)  item.getMenuInfo();
            int idx = info.position;
            switch (item.getItemId()) {

                case CONTEXTMENU_ID:
                   showMyDialog(this,DIALOG_ID);
                   break;
            }      
        return true;
       }

       public void update() {
           ...
       }
    }

对话框类

    public class Dialogs extends Activity {
         @Override
         protected Dialog onCreateDialog(int id) {
              ...
         }
         ...
         //Called on Dialog-Butten press
         private void ReloadActivity(){
             if(DialogCalledByClass.contains("MyActivity")) {
                 MyActivity.update();// It doesn't worke because non-static....
              }
              else if(DialogCalledByClass.contains("MyActivity2")) {

              }
         }

         public void showMyDialog(Context ctx,int id) {
             showDialog(id);
             DialogCalledByClass =ctx.getClass().toString();
         }
     }

这就是我试过的...

最佳答案

例如...您可以创建自己的对话框而不是创建 BaseActivity:

class myDialog extends AlertDialog {
   Activity myActivity;

   public myDialog(Activity myAct){
      myActivity=myAct;
   }

   @Override
   public void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.my_dialog);
      ...
      ...
   }

   @Override
   public void dismiss(){
      myActivity.update();
   }


   @Override
   public void cancel(){
      myActivity.update();
   }

}

我不知道我是否理解你的问题,但这是一个想法。希望对您有所帮助。

关于android - 如何为不同的 Activity 实现对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535398/

相关文章:

android - 适用于 Android 的自适应(多比特率)流式传输

java - 如何在 finish() 中开始一个 Activity

android - 隐藏 Activity

winapi - 作为选项卡页的对话框与它所属的选项卡控件具有不同的背景颜色

android - 平板电脑应用程序在方向改变时崩溃

java - 后台服务中的 sensorManager.registerListener

android - Android SDK Manager 中的 Google Web Driver 是什么?

Android,如何获取当前正在显示的 Activity 信息(在前台)?

angularjs - Angular 模态对话框最佳实践

java - FTP进度条上传文件