2016-03-30 20 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でリストビューを作成しようとしています。

android IDをmyListViewに変更しましたが、アプリを再構築しようとしましたが、エラーとして表示されます。私は今どうすればいい ?

+2

プロジェクトをクリーンにして再構築します。次に、新しい 'Id'定義を含めるべき' Resources.designer.cs'ファイルを再生成する必要があります。 –

答えて

7

もう一度アプリケーションを再構築し、main.axmlファイルを保存してみてください。

+0

私は同じ問題を抱えていますが、この解決法は私のためには機能しません。エラーを取り除く唯一の方法は、Visual Studio 2017を再ビルドして再起動することです。クリーンは必要ありません。これはバグですか? Intellisenseが正しく更新されていませんか? – Martin

3

1)ビルド - >私はこの種の問題に直面したソリューション

0

を構築するソリューションのクリーン

2)。原因は、プロジェクト内の重複したリソースIDに起因する可能性があります。たとえば、レイアウトファイル(.axml)をコピーして、ソリューションエクスプローラペインのレイアウトリソースフォルダに単純に貼り付け、その中に細心のリソースID名のレビューがないと、この問題が発生します。プロジェクトの名前空間内のid参照ルールは一意であるためです。 .Designerファイル内でリソースIDが自動生成されている間、どのIDが正しいかを判断することはできません。残りの未処理IDは警告なしでスキップされる可能性があります。その結果、同じプロジェクトで重複したレイアウトファイルを作成した後、私がコーディングしている間に新しいリソースIDを参照することができませんでした。私の解決策は、プロジェクト内の重複ID名を探して、それらを一意になるように修正することです。

関連する問題