C#によるAndroid Wearable開発を独学しております。
ボタンのクリック回数を表示するアプリケーションを以下の通り実装したのですが、ボタンを押してもテキストが更新されませんでした。
しかし、コメントの★に記載した変更を行うとテキストが更新されるようになりました。
理由が検討もつかず、ご教示頂けますと幸いです。
開発環境
- Visual Studio for Mac Community 8.4.8 (build 2)
- MacOS Catalina 10.15.3
- コンパイル:Android 9.0(Pie)
- エミュレータ:android_wear_round_pie_9_0_-_api_28 (API 28)
- 以下の警告が出ております。
AndroidManifest.xml: Warning XA4218: Unable to find //manifest/application/uses-library at path: /xxxxxx/com.google.android.wearable.jar (XA4218) (WearableTest)
コード
- activity_main.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<android.support.wear.widget.BoxInsetLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 android:padding="@dimen/box_inset_layout_padding" 9 tools:deviceIds="wear"> 10 <FrameLayout 11 android:layout_width="match_parent" 12 android:layout_height="match_parent" 13 android:padding="@dimen/inner_frame_layout_padding" 14 app:boxedEdges="all"> 15 16 <TextView 17 android:id="@+id/txtInform" 18 android:layout_width="match_parent" 19 android:layout_height="wrap_content" 20 android:text="@string/textview_text" 21 android:textSize="8dip" /> 22 23 <Button 24 android:id="@+id/btnCount" 25 android:layout_gravity="center" 26 android:layout_height="50dp" 27 android:layout_width="50dp" 28 android:text="@string/button_text" 29 android:textSize="8dip"/> 30 31 </FrameLayout> 32</android.support.wear.widget.BoxInsetLayout>
- MainActivity.cs
cs
1using Android.App; 2using Android.Widget; 3using Android.OS; 4using Android.Support.Wearable.Activity; 5 6namespace WearableTest 7{ 8 [Activity(Label = "@string/app_name", MainLauncher = true)] 9 public class MainActivity : WearableActivity // ★WearableActivityをActivityに修正 10 { 11 TextView textView; 12 Button button; 13 int count = 0; 14 15 protected override void OnCreate(Bundle bundle) 16 { 17 base.OnCreate(bundle); 18 SetContentView(Resource.Layout.activity_main); 19 20 textView = FindViewById<TextView>(Resource.Id.txtInform); 21 SetAmbientEnabled(); // ★コメントアウト 22 23 button = FindViewById<Button>(Resource.Id.btnCount); 24 button.Click += delegate { 25 button.Text = string.Format(this.GetString(Resource.String.button_clicked_text), count++); 26 }; 27 } 28 } 29}
- strings.xml
xml
1<?xml version="1.0" encoding="UTF-8"?> 2<resources> 3 <string name="hello_world">Hello Round World!</string> 4 <string name="textview_text">押すとカウントアップするよ</string> 5 <string name="button_text">ボタン</string> 6 <string name="button_clicked_text">{0} clicks!</string> 7</resources>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/09 14:24