0

对于我的生活,我无法弄清楚这一点。我开始做的是有一个可点击的 Toast 消息来启动一个意图。谷歌搜索后,我发现吐司无法点击。我以为我可以使用 PopupWindow 来实现相同的目的,但我的问题是我的应用程序没有视图,并且 PopupWindows 需要根视图。

public class MyApp extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    //Call an Android api method here

    Toast toast=Toast.makeText(this, "Hello", 3000);
    finish();
    }
}

该应用程序只是调用一个 Android api,然后显示一个 Toast。根本没有图形用户界面。所以我的问题是,我可以用什么来替换这个 toast,以便我可以有一个可点击的对话框/弹出窗口来启动一个 Intent?

4

1 回答 1

0

这是 Android Dialogs的完美案例

就像@ρяσѕρєя K 提到的那样,您可以使用postDelayed回调在指定时间后取消对话框,而无需用户干预。

另一种方法是使用 Toast 和自定义视图。

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
                               (ViewGroup) findViewById(R.id.toast_layout_root));

Toast toast = new Toast(getApplicationContext());
toast.setView(layout);

如果您因为没有先调用而遇到任何问题setContentView,您可以使用空白布局调用它。并在您的清单中将您的活动主题设置为android:theme="@android:style/Theme.NoDisplay".

这将本质上创建一个透明的活动。所以看起来你的对话框是在用户之前的活动上

于 2013-02-17T11:10:29.033 回答