0

我的主要视图显示得很好。

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

我遇到的困难是控制我的视图以设置可见性。我“相信”这是因为视图还没有膨胀,但我不确定让它膨胀的最佳方法。

此外,我应该将其作为 OnCreate 步骤的一部分进行,然后仅在需要时将其隐藏或膨胀。无论哪种方式,我如何放大视图?

TIA JB

很抱歉,我在这个问题上做得不好。这是一些代码:

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

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;
4

1 回答 1

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,因此您无需启动任何对象即可到达它们。

于 2012-12-30T14:47:32.127 回答