Android视图,意图和布局问题

时间:2011-09-29 14:21:16

标签: android android-layout android-intent

这是我的第一个问题,但我一直在阅读这里的很多帖子,试图做到这一点。但我只是无法弄明白!所以我希望得到帮助!

我在Android应用程序上工作,我在自动填充字段中输入搜索词。从这里我希望应用程序更改为另一个布局xml文件,其中包含结果的列表视图。单击某个项目时,它将转到另一个布局xml文件。

我已经准备好了所有的http帖子和功能,但是让我头疼的是交换布局部分。到目前为止我一直在尝试这个:

setContentView(R.layout.newlayout);

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

setContentView(R.layout.previouslayout); 

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

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

我希望你理解我的问题,并且你有时间帮助我。

致以最诚挚的问候,谢谢。 纳斯

2 个答案:

答案 0 :(得分:1)

要显示其他布局,您应该在活动中使用call 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);
            ...
        }
    }

答案 1 :(得分:0)

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

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