質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

1221閲覧

CS0117 'Resource.Id' に 'resetButton' の定義がありません

deny

総合スコア5

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2019/08/21 13:08

xamarin.androidの練習をしております。
activity_main.xmlで配置したボタンをMainActivityで FindViewByIdすると
'Resource.Id' に 'resetButton' の定義がありませんと表示されます。

過去の記事

過去に同じ様な質問をされている方がいたので参考にしてみましたが、どうしても反映されません。
Resource.designer.csには設定したIDが反映されているのですが、
FindViewByIdで指定するとエラーになってしまいます。

何度か新しくソリューションを作成しても同じでした。
何回か試していると分かったことが、一番最初にビルドした時点ではきちんと認識されるのですが、
ボタンを追加して2回目のビルドをすると新しいIDは反映がされなくなる様な動きです。

私は何か根本的なことを見落としているのでしょうか?
ずっと悩んで分からないので教えていただけると助かります。。

環境 VisualStudio2019 Windows

試したこと
・FindViewByIdをコメントアウトしてから再起動 / リビルド。
・PC再起動
・新規でソリューション作成

【activity_main.xml】

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="00:00" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:minWidth="25px" android:minHeight="25px" android:id="@+id/time1" android:textSize="80dp" /> <Button android:text="Start" android:gravity="center" android:layout_margin="40dp" android:background="#FFFF55" android:textSize="30dp" android:layout_width="300dp" android:layout_height="100dp" android:id="@+id/startButton" /> <Button android:text="リセット" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/resetButton" /> </LinearLayout>

【MainActivity.cs】

using Android.App; using Android.OS; using Android.Support.V7.App; using Android.Runtime; using Android.Widget; namespace KKProjects { [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)] public class MainActivity : AppCompatActivity { protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.activity_main); var start_s = FindViewById<Button>(Resource.Id.resetButton); } public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); } } }

【Resource.designer】これはいじってません。
Resource.designer

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

bin/objをフォルダごと削除して、ビルドし直してみてはいかがでしょうか。
Xamarinで困ったらとりあえずやってみるとこの方法で解決することが多いです。

私の場合Xamarin.Formsでしたが、同様にResource.Idの定義が参照できない現象が起きました。

投稿2019/08/22 09:21

takapi_cs

総合スコア349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

deny

2019/08/23 07:16

反映されました!!! こんな裏技があったのですね。 ずっと悩んでいたのでとても助かりました本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問