2010-02-06 59 views
1

我有一个Android活动,它使用我开发的扩展视图(我们称之为FooView)的类。我想在FooView中发生特定事件时启动对话框。从我读过的所有文章看来,必须使用showDialog()从Activity类启动对话框。我似乎无法找到任何示例显示如何从View启动对话框。从视图启动Android对话框

所以我想知道如何做到这一点。我是否需要将FooView的Intent发送到活动?或者从FooView调用的Activity注册一个回调?

在此先感谢。

回答

3

您可以在您的活动中注册您的回调,并回调活动中的方法。

例如:

public class MyActivity extends Activity { 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    FooView foo = (FooView) findViewById(R.id.foo); 
    foo.setOnClickListener(new OnClickListener() { 
     public void onClick(View view) { 
      launchDialog(); 
     } 
    }); 
} 





     private void launchDialog() { 
    // do it here 

     } 
} 
+0

这就是我怀疑是必要的。 – tronman 2010-02-08 15:30:43

+0

如果我以编程方式添加视图,该怎么办?我实际上添加了可变数量的视图,我需要从中显示对话框。它有可能吗? – 2013-01-31 17:07:09