2016-04-28 26 views
1

私のアプリがこの投稿への回答により示唆されるようTaskDescriptionを使用して「最小化」されている間、私はアクションバーの色を設定しようとしています:ここでSetting header color of app in overview (recent apps) screenアンドロイドは:記号TaskDescriptionを見つけることができません

は、関連するコードです:

... 
import android.app.ActivityManager; 
... 
public class MainActivity extends SherlockFragmentActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
... 
     int c = Color.parseColor("#0A782F"); 
     ActivityManager.TaskDescription td = new ActivityManager.TaskDescription(R.string.app_name, R.drawable.launcher, c); 
     ((SherlockFragmentActivity) this).setTaskDescription(td); 
    } 
... 
} 

私はこのプロジェクトのためのXMLリソースファイルを投稿していないが、あなたはR.string.app_nameR.drawable.launcherは、XMLファイルで定義されていることを仮定してもよいです。ここで

が問題だ:私はこのコードをコンパイルするとき、私は次のエラーを取得する:

error: cannot find symbol 
... 
symbol: class TaskDescription 
location: class MainActivity 

あなたがいクラスや変数名を参照するとき、私が理解から、Javaはcannot find symbolエラーがスローされます存在しない。クラスの場合は、通常、必要なクラスをインポートすることを忘れてしまいます。しかし、私は明らかにActivityManagerをクラスファイルの先頭にインポートしているので、この場合はそれが原因ではありません。最後にhttp://www.programcreek.com/java-api-examples/index.php?class=android.app.ActivityManager&method=TaskDescription

、私は問題はあなただけTaskDescriptionクラスをインスタンス化できるということであったかもしれないと思った。ここで

はちょうど私が私の研究を行っていることを示すために、人々はまったく同じ事を行っているいくつかの他の例でありますアクティビティのコンテキストでただし、標準 AppCompatActivityの代わりに SherlockFragmentActivityを使用しています。残念ながら、私はこれを変更しようとしたが、私はまだ同じエラーが発生します。何か案は?

ご協力いただきありがとうございます。

答えて

2

解決策を見つけました!私はgradleを使って自分のプロジェクトを構築したという問題は言及していませんでした。問題は、古いSdkバージョンを使用していたことです(特に、私はTaskDescriptionクラスをまだ定義していないAndroid Sdkのバージョンを使用していました)。

compileSdkVersion 21 

希望これは、同じ理由で失わ感じている誰か他の人を支援します。そのため、問題を解決するために、私がしなければならなかったすべては私のbuild.gradleファイル内の適切な場所に次の行を追加しました。

関連する問題