2016-04-28 79 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類在Activity上下文中。但是,我正在使用SherlockFragmentActivity而不是標準AppCompatActivity。不幸的是,我試圖改變這一點,我仍然得到同樣的錯誤。有任何想法嗎?

在此先感謝您的幫助!

回答

2

找到解決方案!我沒有在問題中提到我使用gradle構建了我的項目。問題是我使用的是舊的Sdk版本(特別是,我使用的是尚未定義TaskDescription類的android Sdk版本)。因此,要解決這個問題,我不得不做的是以下行添加到適當的地方,我build.gradle文件:

compileSdkVersion 21 

希望這有助於別人誰是感覺失去出於同樣的原因。