MonoDroid - Начинающий - PullRequest
       1

MonoDroid - Начинающий

0 голосов
/ 29 июня 2011

Я использую Visual Studio 2010 и Mono Droid v1.0.1, чтобы начать программирование на C # для платформы Android.

У меня проблема.Из основного Activity хотите вызвать другую активность ('prueba'), это хорошо, но я ничего не показываю на экране.То есть покажите мне новый экран с названием «prueba», но ничего на нем не показывалось (все черное).

Вот код, который я использую:

  • AndroidManifest.xml

     <?xml version="1.0" encoding="utf-8"?>
         <manifest xmlns:android="http://schemas.android.com/apk/res/android"   android:installLocation="internalOnly" package="MonoAndroidApplication1.MonoAndroidApplication1.apk" android:versionCode="1" android:versionName="Primera">
    
    <application android:label="MonoAndroidApplication1">
    </application>
    <uses-sdk android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <activity android:name=".Prueba" />
    </manifest>
    
  • Activity1.cs

    using System;
    using Android.App;
    using Android.Content;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.OS;
    using System.IO;
    
    namespace MonoAndroidApplication1
    {
    
     [Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
    
    public class Activity1 : Activity
    {
        EditText et01;
        EditText et02;
        EditText et03;
    
        Button bt01;
        Button bt02;
        Button bt03;
    
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
    
            SetContentView(Resource.Layout.Main);
    
            et01 = (EditText)FindViewById(Resource.Id.edittext01);
            et02 = (EditText)FindViewById(Resource.Id.edittext02);
            et03 = (EditText)FindViewById(Resource.Id.edittext03);
            bt01 = (Button)FindViewById(Resource.Id.button01);
            bt02 = (Button)FindViewById(Resource.Id.button02);
            bt03 = (Button)FindViewById(Resource.Id.button03);
    
            bt01.Click += (sender, e) =>
            {
                et01.Text = string.Format("Click en 1");
            };
            bt02.Click += (sender, e) =>
            {
                et02.Text = string.Format("Click en 2");
            };
            bt03.Click += (sender, e) =>
            {
                et03.Text = string.Format("Click en 3");
                Intent i = new Intent(this, typeof(Prueba));
                StartActivity(i);
            };
    
            Toast.MakeText(this, "Esto es un ejemplo", ToastLength.Short).Show();
         }
       }
     }
    
  • Prueba.cs

    using System;
    using Android.App;
    using Android.Content;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.OS;
    using System.IO;
    
    namespace MonoAndroidApplication1
    {
        [Activity(Label = "Prueba", MainLauncher = true, Icon = "@drawable/icon")]
        public class Prueba : Activity
        {
            public void onCreate(Bundle savedInstanceState)
            {
                 SetContentView(Resource.Layout.Prueba);
            }
        }
     }
    
  • Prueba.axml

    <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout
     android:id="@+id/widget0"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     xmlns:android="http://schemas.android.com/apk/res/android"
    >
      <TextView
           android:id="@+id/textoif"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="IF-Software"
     >
    </TextView>
    

  • Main.axml

     <?xml version="1.0" encoding="utf-8"?>
     <TableLayout
      android:id="@+id/widget27"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
     >
       <TableRow
        android:id="@+id/widget28"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
       >
         <TextView
          android:id="@+id/widget32"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Prueba IF"
         >
         </TextView>
       </TableRow>
       <TableRow
        android:id="@+id/widget29"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
       >
         <EditText
          android:id="@+id/edittext01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textSize="18sp"
         >
        </EditText>
        <Button
         android:id="@+id/button01"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="1"
        >
        </Button>
      </TableRow>
      <TableRow
       android:id="@+id/widget30"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="horizontal"
      >
        <EditText
         android:id="@+id/edittext02"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="18sp"
        >
        </EditText>
        <Button
         android:id="@+id/button02"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="2"
        >
        </Button>
      </TableRow>
      <TableRow
       android:id="@+id/widget31"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="horizontal"
      >
        <EditText
         android:id="@+id/edittext03"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="18sp"
       >
       </EditText>
       <Button
        android:id="@+id/button03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="3"
       >
       </Button>
     </TableRow>
    </TableLayout>
    

Ответы [ 3 ]

6 голосов
/ 30 июня 2011

Не разработчик MonoDroid, но я замечаю, что вы пропустили ключевое слово "override" во втором действии onCreate, а также не вызывали родителя.

0 голосов
/ 22 августа 2012

Моно-esque способ добавить большинство (если не все, не уверен) "опций манифеста" через атрибуты класса, реализующего действие (или службу).

Плагин Visual Studio Mono автоматически создает манифест, поэтому лучше не вмешиваться вручную (я уверен, что есть случаи, когда нет другого выбора).

Например:

[Activity(Label="MonoDroid App", MainLauncher=true, Permission="android.permission.WRITE_EXTERNAL_STORAGE")]
public class MonoActivity : Activity
{
  protected override void OnCreate(Bundle bindle)
  {
    base.OnCreate(bindle);
  }
}
0 голосов
/ 01 сентября 2011

Я думаю, вы захотите удалить MainLauncher = true из Prueba.cs.Это используется для указания того, какие действия следует запускать при запуске приложения.

http://docs.mono -android.net / index.aspx? Link = P% 3aAndroid.App.ActivityAttribute.MainLauncher

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...