2011-01-19 4 views
0

私はそれが例外をスローしていると思うよ残念なことに私はエラーを取得していません それはエミュレータと私の携帯電話にロードされますが実行されません。 。。。(プロセスcom.myapp)は、その後ForceCloseボタンをもう一度試してください予期せず停止」としている:(壁紙はこのハードに設定する必要があります:(

をもう一度ここに私のコードです:私自身の研究に

public void onClick(DialogInterface dialog, int id) { 
    try { 
     MyActivity.this.setWallpaper(mContext.getDrawingCache()); 
     finish(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

私は、誰かがきましたgetDrawingCacheのビットマップをビットマップに変換していますが、view.getDrawingCacheのドキュメントでは、すでにビットマップであり、setWallpaperはseビットマップ... 私はここにアイデアがありません。

+1

将来は、コードを適切にフォーマットしてください( "{}"エディターコントロールを使用) 。 –

+2

エラーを理解し、エラーを投稿してください(ここでは例外なので)。あなたが試しにこのすべてを持っているので、あなたのコードがまったく別の場所で間違っているという変更があります。 – Nanne

+2

実際の例外を見るにはlogcatを使います。 – Nick

答えて

2

mContextとは何ですか? getDrawingCache()はViewクラスのメソッドで、最初にsetDrawingCacheEnabled(true)を呼び出すか、buildDrawingCache()を呼び出した場合にのみ有効なビットマップを返します。また、ビューがレイアウトパスを通過し、幅と高さが> 0であることを確認する必要があります。

+0

私は前にmContextはビューだと言っていましたが、それは間違いでした。 mContextはImageSwitcherオブジェクトです。私はsetDrawingCacheEnable(true)をしなければならないと言っています。だから、私はonTouchListenerまたは前にこれを行うのですか? – user580162

+0

また、私はそれを持っているか、MyContext.getDrawingCache()をビットマップ変数に移動する必要があるので、それを使うのは良い習慣ですか? – user580162

+0

ロマン・ガイ! 私はあなたに冷たいものを買って手を振ってもらいたい! setDrawingCacheEnabled(true)がチケットでした!ありがとうございました! – user580162

関連する問題