【问题标题】:Android views, intents and layout problemsAndroid 视图、意图和布局问题
【发布时间】:2011-09-29 14:21:15
【问题描述】:

这是我的第一个问题,但我在这里阅读了很多帖子,试图解决这个问题。但我就是想不通!所以我希望得到帮助!

我正在开发一个 Android 应用程序,在该应用程序的自动完成字段中输入搜索短语。从这里我希望应用程序更改为另一个包含结果列表视图的布局 xml 文件。当您单击一个项目时,它将转到另一个布局 xml 文件。

我已经准备好所有的 http 帖子和功能并且可以正常工作,但让我头疼的是切换布局部分。到目前为止,我一直在尝试:

setContentView(R.layout.newlayout);

按照它应该的方式工作,它确实改变了布局,但当然有问题。 如果我按下手机上的后退按钮,它只会关闭应用程序,而不是返回到以前的布局。如果我创建一个后退按钮并将其设置为 onclick 来执行一个

setContentView(R.layout.previouslayout); 

它返回到另一个布局,但它不保留搜索表单中的输入数据,此外它不重新加载用于获取自动完成标签的功能。大问题!

我猜,我必须使用某种意图或活动管理器,但我不知道它是如何工作的,以及如何在列表视图的新活动开始时发送数据以及产品视图?

【问题讨论】:

    标签: android android-layout android-intent


    【解决方案1】:

    要显示另一个布局,您应该在 Activity 中调用 startActivity。要在调用中放置数据,请使用 putExtra:

        int value = 1;  
        Intent i = new Intent(this, Test.class);  
        i.putExtra("var", value);
        startActivity(i);  
    

    您还应该为每个布局创建一个类并使用 setContentView 选择正确的布局:

        public class Test extends Activity{
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                int var2 = (int)getIntent().getExtras().get("var");
                setContentView(R.layout.newlayout);
                ...
            }
        }
    

    【讨论】:

    • 这正是我想要的!令人难以置信的是,我一直在寻找这个问题,这里只有一个问题回答了它!非常感谢!欣赏。
    【解决方案2】:

    尽管使用意图或其他活动,您也可以使用ViewFlipper

    例如http://www.androidpeople.com/android-viewflipper-example

    【讨论】:

    • 感谢您的提示!很棒的文章。
    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 2011-06-05
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多