2016-03-30 37 views
2

這是main.axml文件。Resource.Id不能在Xamarin中工作

`<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:minWidth="25px" 
    android:minHeight="25px"> 
    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/myListView" /> 
</LinearLayout>` 

而這正是MainActivity.cs文件:

保護覆蓋無效的OnCreate(束束) { base.OnCreate(束);

// Set our view from the "main" layout resource 
    SetContentView(Resource.Layout.Main); 

    Glop = new List<string>(); 

    Glop.Add("Tom"); 
    Glop.Add("Dick"); 
    Glop.Add("Harry"); 

    Name = FindViewById<ListView>(Resource.Id.myListView); 

} 

我想在Xamarin Android中創建一個Listview。

我已經改變了Android ID到myListView,也試圖重建應用程序,但它仍然顯示爲錯誤。我現在應該怎麼做 ?

+2

清理並重建您的項目。然後它應該重新生成'Resources.designer.cs'文件,該文件應該包含新的'Id'定義。 –

回答

7

嘗試再次重建應用程序並保存main.axml文件。

+0

我有同樣的問題,這種解決方案不適合我。擺脫錯誤的唯一方法是重建並重新啓動Visual Studio 2017.乾淨是沒有必要的。這是一個錯誤?智能感知沒有正確更新或什麼? – Martin

3

1)建設 - >清理解決方案

2)生成解決方案

0

我面臨這樣的問題。原因可能來自項目中的重複資源ID。例如,當您複製佈局文件(.axml)時,會出現此問題,並且只需將其粘貼到解決方案資源管理器窗格中的佈局資源文件夾中,而無需仔細查看資源ID名稱。由於項目名稱空間中的id引用規則是唯一的。在資源ID在.Designer文件中自動生成期間,它無法確定哪一個是正確的,可以在不發出警告的情況下跳過其中一個和其餘未處理的ID。結果是 - 在我在同一個項目中創建了一個重複的佈局文件後,我在編碼時無法引用其中的一些新資源ID。對我而言,解決方案是在項目中查找重複的id名稱,並將其更正爲唯一。

相關問題