C# Android tabhost在空白屏幕中打开

C# Android tabhost在空白屏幕中打开,c#,android,asp.net,android-activity,C#,Android,Asp.net,Android Activity,我在项目中使用tabhost 现在,当我单击选项卡1时出现以下问题 它启动了一个新的选项卡1活动,这是正确的,并加载我的listview 同样完美,但当我点击listview项目时,它也应该启动一个新的活动 但它会在空白屏幕中打开,而不是在tabhost/framelayout中打开 这里是我的代码的一个例子,我希望你能给我建议,非常感谢 Listview活动/选项卡1 [Activity(Label = "Pagina")] public class Paginas : Activity {

我在项目中使用tabhost

现在,当我单击选项卡1时出现以下问题 它启动了一个新的选项卡1活动,这是正确的,并加载我的listview 同样完美,但当我点击listview项目时,它也应该启动一个新的活动 但它会在空白屏幕中打开,而不是在tabhost/framelayout中打开

这里是我的代码的一个例子,我希望你能给我建议,非常感谢

Listview活动/选项卡1

[Activity(Label = "Pagina")]
public class Paginas : Activity
{
    ListView listView;
    CMS.APPS CMS = new CMS.APPS();
    List<CMS.Pages> ListPages;

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        Core.Context = this;

        SetContentView(Resource.Layout.Paginas);
        ListPages = CMS.GetPagesAndroid(Core.AdministratieID, null, Core.UserID, null, null, null, null, null, null, null, null).ToList();

        listView = FindViewById<ListView>(Resource.Id.ListViewPaginas);
        listView.Adapter = new PagesAdapter(this, ListPages);
        listView.ChoiceMode = ChoiceMode.Single;
        listView.ItemClick += OnListItemClick;
    }

    protected void OnListItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e)
    {
        var listView = sender as ListView;
        var t = ListPages[e.Position];
        var CMSPage = new Intent(this, typeof(Handler));
        CMSPage.PutExtra("PAG_ID", t.PAG_ID.ToString());
        StartActivity(CMSPage);
        //Android.Widget.Toast.MakeText(this, t.PAG_TITLE, Android.Widget.ToastLength.Short).Show();
    }
}

这是一个粗略的例子,我很确定它会起作用(即,未经测试,但我在自己的代码中做了类似的事情)

在选项卡Activity中存在的活动中

var parent = this.Parent as TabContainer;
if (parent != null)
{
    parent.ChangeToTab(tabId);
}
在活动中:

    public void ChangeToTab(int tabId)
    {
        TabHost.CurrentTab = tabId;
    }

创建TabHost时,需要为它加载一个要更改为的选项卡。

请注意,我最初发布这篇文章时,ChangeToTab是私有的,但它必须是公共的(如果您想测试它,可能还需要另一个不太公共的修改器!)这不是我所说的dave当单击tab x时,它会打开一个引用到此选项卡的活动,但它有一个带有onitemclick的列表视图,如果我使用setcontent view,则该事件需要在listview显示的窗口中打开,而我的listview不会重新加载
    public void ChangeToTab(int tabId)
    {
        TabHost.CurrentTab = tabId;
    }