在菜单选择上膨胀视图

时间:2012-12-30 14:35:39

标签: android android-view

我的主视图显示很好。

我的麻烦是当用户选择菜单按钮然后选择用户偏好图标时,我希望我的一个视图被充气和可见。这个视图当然有我想要显示的选项供用户选择。

我遇到的困难是掌握我的观点以设置可见性。我“相信”这是因为观点还没有膨胀,但我不确定最好的方式让它膨胀。

此外,我应该在OnCreate步骤中执行此操作,然后仅在需要时隐藏它或充气。无论哪种方式,我如何给视图充气?

TIA JB

对不起,我在这个问题上做得很差。这是一些代码:

我有一个名为userpreferences的relativelayout。当用户选择菜单时,首选项按钮我想显示该视图,以便他们可以修改其设置。

public boolean onOptionsItemSelected(MenuItem item) 
{ 

    switch (item.getItemId()) 
    { 
        case R.id.menu_save:
    ..... code .....
        case R.id.menu_Preferences: 
            //Inflate view here so user can select options
            return true;

1 个答案:

答案 0 :(得分:1)

编辑:问题已更改。

你处理这个问题的最好办法可能就是开始一项新活动。

startActivity(new Intent(this, NewActvity.class));

会做的伎俩。


你的问题很模糊......无论如何......

在正常活动中,您的活动已经通过设置'setContentView(R.layout.your_layout);'来了解您正在谈论的视图。在OnCreate。

从那时起,您可以通过简单地按照示例来扩充任何视图:

TextView mTextView = (TextView) findViewById(R.id.my_textview); 

如果您正在构建稍微复杂的设置,则可能仍需要首先对根视图进行充气。你可以用每个例子来做到这一点:

LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View root = inflater.inflate(R.layout.some_layout, null);

从那时起,您可以再次使用该示例,但您可以使用它:

TextView mTextView = (TextView) root.findViewById(R.id.my_textview); 

对于你的其余问题:何时做到这一点取决于你想要做的事情,但通常在onCreate中充气它们会很好。

获得视图后,可以使用mTextView.setVisibility()设置其可见性; 它将采用View.GONE,View.INVISIBLE或View.VISIBLE作为静态值,因此您不必启动任何对象来访问它们。