[Mono-bugs] [Bug 641112] New: Strange behavoiur using the Tag attribute of Android.View

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Sep 22 10:50:43 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=641112

https://bugzilla.novell.com/show_bug.cgi?id=641112#c0


           Summary: Strange behavoiur using the Tag attribute of
                    Android.View
    Classification: Mono
           Product: MonoDroid
           Version: SVN
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Class Libraries
        AssignedTo: mkestner at novell.com
        ReportedBy: tquerci at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)
AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3


Trying to store an object in a Tag attribute of TextView there is a strange
behavoiur.
If I use an object from the class library (e.g. string or TextView) all works
properly. If I store an object create by a my class (derived from
Java.Lang.Object or not, is the same) the Tag attribute is null.

Here same sample code:

======================================================

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Util;

namespace TagSample
{

    [Activity(MainLauncher = true)]
    public class Activity1 : Activity
    {
        int count = 1;

        public Activity1(IntPtr handle)
            : base(handle)
        {
        }

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.layout.main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button>(Resource.id.myButton);
            News news = new News();
            news.Title = "Title";
            news.Description = "Description";

            /* TEST 1 PASS */
            button.Tag = "String";
            CheckResult("Check 1", button.Tag);

            /* TEST 2 PASS */
            button.Tag = button;
            CheckResult("Check 2", button.Tag);

            /* TEST 3 KO */
            button.Tag = news;
            if (news == null)
            {
                Log.W("TEST_TAG", " NEWS IS NULL ");
            }
            else
            {
                Log.W("TEST_TAG", " NEWS NOT IS NULL ");
            }
            CheckResult("Check 3", button.Tag);
        }

        private void CheckResult(string test, Java.Lang.Object obj)
        {
            if (obj == null)
            {
                Log.W("TEST_TAG", test + " KO :( ");
            }
            else
            {
                Log.W("TEST_TAG", test + " OK :) *****");
            }

        }

    }
}


Reproducible: Always

Steps to Reproduce:
Simpy run the sample code
Actual Results:  
here the output from logcat

D/dalvikvm(  290): Added shared lib
/data/data/TagSample.TagSample/lib/libmonodr
oid.so 0x43e37290
W/ActivityManager(   60): Launch timeout has expired, giving up wake lock!
W/ActivityManager(   60): Activity idle timeout for HistoryRecord{43fec4d0
TagSa
mple.TagSample/tagSample.Activity1}
D/dalvikvm(  117): GC_EXPLICIT freed 1409 objects / 72144 bytes in 5846ms
W/TEST_TAG(  290): Check 1 OK :) *****
W/TEST_TAG(  290): Check 2 OK :) *****
W/TEST_TAG(  290):  NEWS NOT IS NULL
W/TEST_TAG(  290): Check 3 KO :(


Expected Results:  
The desidered output is.


W/TEST_TAG(  290): Check 1 OK :) *****
W/TEST_TAG(  290): Check 2 OK :) *****
W/TEST_TAG(  290): Check 3 OK :) *****

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list