मैं सी # में xamarin एंड्रॉइड ऐप में नौसिखिया हूँ। मैंने पृष्ठ गतिविधि बनाई है जो play.it नामक सरणी के साथ सूचीदृश्य भरने का इरादा रखती है। यह सरणी वस्तुओं के साथ सफलतापूर्वक सूचीदृश्य दिखाता है। जब मैं सूचीदृश्य आइटम पर क्लिक करता हूं तो कुछ भी नहीं होता है। इसे वस्तु की स्थिति के आधार पर नई गतिविधि शुरू करनी चाहिए। मुझे लगता है कि listv.itemclick ईवेंट हैंडलर में समस्या है। पृष्ठ गतिविधि इस प्रकार है:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.Net;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Webkit;
using Android.Widget;


namespace smartapp
{
    [Activity(Label = "PageActivity")]
    public class PageActivity : Activity
    {
        ListView listv;
        ArrayAdapter adapter;
        ArrayList Plays;


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

            SetContentView(Resource.Layout.Pages);

            getData();

            listv = FindViewById<ListView>(Resource.Id.listv);
            adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, Plays);
            listv.Adapter = adapter;

            listv.FastScrollEnabled = true;


            // Create your application here



        listv.ItemClick+= (object sender,AdapterView.ItemClickEventArgs e)=>{


            Intent myintent;
            switch(Plays[e.Position])
            {

            case 0:
            myintent=new Intent(this,typeof(HelpActivity));
            StartActivity(myintent);
            break;
        case 1:
            myintent=new Intent(this,typeof(IslamActivity));
        StartActivity(myintent);
            break;
        case 2:
            myintent=new Intent(this,typeof(AllPagesActivity));
        StartActivity(myintent);
            break;

            }
        };


            }



        private void getData()
        {
            Plays = new ArrayList();
            Plays.Add("Care Center");
            Plays.Add("Real Islam");
            Plays.Add("All Pages");

        }

    }
}
1
Fiaz Ahmed 5 अप्रैल 2019, 09:09

1 उत्तर

सबसे बढ़िया उत्तर

मेरे अनुसार समस्या आपके स्विच के साथ है, यह कुछ इस तरह होना चाहिए:

switch(e.Position)   
{

    case 0:
        myintent=new Intent(this,typeof(HelpActivity));
        StartActivity(myintent);
        break;
    case 1:
        myintent=new Intent(this,typeof(IslamActivity));
    StartActivity(myintent);
        break;
    case 2:
        myintent=new Intent(this,typeof(AllPagesActivity));
    StartActivity(myintent);
        break;

 }
1
FreakyAli 5 अप्रैल 2019, 06:16