1

画面の高さを動的に取得する私のコード:

Display display = ((Activity) getContext()).getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;

エラー: エラー: java.lang.ClassCastException: android.app.Application 完全なログの猫: http://pastebin.com/8zUNFUYn

編集:コードを次のように変更しました:

Display display =  (activity).getWindowManager().getDefaultDisplay();

        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;

動作しましたが、display.getSize(size) はメソッドではないという新しいエラーが発生しました。その API は非推奨ですか?

4

2 に答える 2

2

環境

Application と Activity の両方の基本クラスです。でアプリケーションを取得しているためgetContext()、にキャストするActivityと、ClassCastExecption.

于 2012-04-14T11:44:05.017 に答える
1

行を次のように置き換えます。

アクティビティ内でこのコードを使用している場合は、これを使用します。

Display display = this.getContext().getWindowManager().getDefaultDisplay();
于 2012-04-14T11:34:50.853 に答える