これはmain.axmlファイルです。
`<?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ファイルです:
保護されたオーバーライドvoid OnCreate(Bundle bundle){base.OnCreate(bundle);
// 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に変更し、アプリを再構築しようとしましたが、それでもエラーとして表示されます。今何をすべきですか?
アプリを再構築して、main.axmlファイルを保存してみてください。
Visual Studio Community 2019 Preview(V 16.0.0、Pr 5.0)の場合):
この問題とデザイナーの多くの問題について、私は繰り返し以下を行わなければなりません:
このバージョンでは(許可されていますが、ベータ版です)、デザイナーを開いた状態でプロジェクトをクリーンアップすると、アクセス許可エラーが発生し、これらの手順で修正できます。
1)ビルド->クリーンソリューション
2)ソリューションの構築
このような問題に直面しました。原因は、プロジェクト内の重複するリソースIDにある可能性があります。たとえば、この問題は、レイアウトファイル(.axml)をコピーして、ソリューションエクスプローラーペインのレイアウトリソースフォルダーに直接貼り付けると、詳細なリソースID名のレビューを行わなくても発生します。
プロジェクトの名前空間のID参照ルールは一意になるためです。 .DesignerファイルでリソースIDが自動生成されている間、VSは使用するつもりのものを特定できなかったため、同じリソースIDのすべてのケースがスキップされ、警告なしに処理されない場合があります。
結果は次のとおりです。同じプロジェクトでレイアウトファイルを複製した後、コーディング中にそれらのリソース名またはIDを参照できなくなりました。
私にとっての解決策は、プロジェクトで重複するID名を探し、それらが一意になるように修正することです。