gpt4 book ai didi

c# - FindViewById 从另一个 Activity 返回 null

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:42 26 4
gpt4 key购买 nike

  • 我正在尝试扩展一个处理工具栏初始化的 Activity ,该 Activity 将出现在我的项目的每个 Activity 中。

  • 在此 ToolbarActivity 中,当我尝试使用 findViewById 时,它返回 null

我在这个网站上看了很多主题,但似乎没有一个给我正确答案:

这是我的代码:

    public abstract class ToolBarActivity : AppCompatActivity
{
private DrawerLayout _drawerLayout;
private ListView _mLeftDrawer;
private SupportToolBar _mToolBar;
private MyActionBarDrawerToggle _mDrawerToggle;
private List<Tuple<string, int>> _items;

protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
int layout = GetLayoutResource();
SetContentView(layout);
InitToolBar(savedInstanceState);
}

/// <summary>
/// Initialize the Toolbar and the leftDrawer
/// </summary>
/// <param name="savedInstanceState"></param>
private void InitToolBar(Bundle savedInstanceState)
{
_mToolBar = FindViewById<SupportToolBar>(Resource.Id.toolBarMenu);
_drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawerLayout1);
_mLeftDrawer = FindViewById<ListView>(Resource.Id.listviewleft);
InitListView();
SetSupportActionBar(_mToolBar);
_mDrawerToggle = new MyActionBarDrawerToggle(this, _drawerLayout, Resource.String.openDrawer,
Resource.String.Messages);
_drawerLayout.AddDrawerListener(_mDrawerToggle);
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
SupportActionBar.SetHomeButtonEnabled(true);
_mDrawerToggle.SyncState();
CheckIfSavedInstance(savedInstanceState);
_mLeftDrawer.ItemClick += leftDrawer_Clicked;
}

这是我扩展前一个 Activity 的另一个 Activity ,我重新检查了 .axml,上面的 id 是正确的。

public class MessagesActivity : ToolBarActivity
{

protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.MessageSystem);
}

protected override int GetLayoutResource()
{
return Resource.Layout.MessageSystem;
}
}

最佳答案

将 ContentView 设置为 Activity 使其在该内容 XML 中查找工具栏项,因此始终为空。

删除 SetContentView 方法解决了这个问题。

关于c# - FindViewById 从另一个 Activity 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55060684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com