C# Android tabhost在空白屏幕中打开
我在项目中使用tabhost 现在,当我单击选项卡1时出现以下问题 它启动了一个新的选项卡1活动,这是正确的,并加载我的listview 同样完美,但当我点击listview项目时,它也应该启动一个新的活动 但它会在空白屏幕中打开,而不是在tabhost/framelayout中打开 这里是我的代码的一个例子,我希望你能给我建议,非常感谢 Listview活动/选项卡1C# 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 {
[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;
}