2016-03-19 44 views
-1

我想在onlistitemclick方法中傳遞數組作爲參數,但它說像方法不會覆蓋超類的方法。下面是代碼..請給我一些建議方法不會超越方法從超類錯誤android

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     ArrayList<String> mylist = new ArrayList<String>(); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     packageManager = getPackageManager(); 
     List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_META_DATA); 
     for (ApplicationInfo packageInfo : list) { 

      mylist.add(packageInfo.packageName); 

     } 
new LoadApplications().execute(); 
    } 
} 
    @Override//here is the error 
    protected void onListItemClick(ListView l,View v, int position, long id,ArrayList<String> mylist) { 

     super.onListItemClick(l, v, position, id); 
     // PACKAGENAME = getApplicationContext().getPackageName(); 
     Uri packageUri = Uri.parse(mylist.get(position)); 
     Intent uninstallIntent = 
       new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri); 
     startActivity(uninstallIntent); 
} 
+0

我們需要看到你的類聲明,你可能會錯過一些「落實」 –

+0

它基本上是告訴你有不一樣的名稱,並在超參數的方法 - 什麼課是你延長?方法簽名中的參數'ArrayList mylist'從哪裏來? –

回答

1

方法的簽名是如下

protected void onListItemClick (ListView l, View v, int position, long id) 

還要注意,該方法沒有在Activity.java定義,但僅在ListActivity.javaListFragment.java

你需要檢查你的類繼承的類的類型。還要注意,你所顯示的代碼中包含一個額外的參數ArrayList<String> mylist,這不是按照ListActivity和ListFragment中描述的方法的簽名。

希望幫助

相關問題