删除视图并添加另一个视图

时间:2017-11-07 08:39:35

标签: android android-spinner

  

当用户在下拉列表中选择某些内容时,我需要向layout添加视图。

以下是spinner的代码,

years={"0 Years","1 Years","2 Years","3 Years","4 Years","5 Years", ... }
spinner = (Spinner)findViewById(R.id.spinner3);
dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, years);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

最初,将显示“0年”的layout。当用户更改它时,应显示与该项相关的布局。我该怎么做动态。我为每个项目都有单独的xml个文件。

1 个答案:

答案 0 :(得分:0)

如果您有任何视图和容器(应该像ViewGroup一样 - RelativeLayout,LinearLayout等),那么您可以使用以下方法:

public void replaceView(View view){

    ViewGroup container = (ViewGroup) findViewById(R.id.container_id);

    if(container.getChildCount() == 0){
        container.addView(view);
    }else{
        container.removeView(container.getChildAt(0));
        container.addView(view);
    }
}

以下列方式打电话:

    replaceView(getLayoutInflater().inflate(R.layout.your_view_layout, null));