0

私の人生では、これを理解することはできません。私がやろうとしたことは、インテントを起動するクリック可能なトースト メッセージを用意することでした。グーグルで調べたところ、トーストをクリックできないことがわかりました。私は 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 を呼び出すだけで、トーストを表示します。GUIはまったくありません。だから私の質問は、インテントを起動するクリック可能なダイアログ/ポップアップウィンドウを作成できるように、このトーストを何に置き換えることができるかということです。

4

1 に答える 1

0

これは、Androidダイアログの完璧なケースです。

@ρяσsiρєя 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 に答える