Android,内部有多个视图的滚动菜单 - 来自XML的视图

时间:2012-05-31 06:21:37

标签: java android layout-inflater

超级新闻在这里。一直在谷歌和这些论坛上搜索4个小时,并没有看到这个问题。对不起,如果它,但就像我说的,SUPER newb在这里。

我需要一个包含线性布局的滚动视图。在线性布局中,我需要定制“迷你布局”。这些是动态拉入的。

这个想法是用户登录,我们返回包含其内容的数据流。迷你布局将包括图像,上方和下方的文本以及按钮。

我为此获得了一个xml,但是当我查看数据列表时,它不会让我多次附加该xml。请帮助,如果我以最坏的方式这样做,请告诉我。

感谢。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.springboard_view);

    // Set page title
    TextView temp = (TextView) findViewById(R.id.page_label);
    temp.setText("Springboard");

    // Get the message from the intent, format and set
    // We also need to keep the pdf's for the library page
    Intent intent = getIntent();
    String message = intent.getStringExtra(ffacademyActivity.EXTRA_MESSAGE);
    List<String[]> formattedStrings = formatStrings(message);
    List<String[]> pdfStrings = new ArrayList<String[]>();

    String[] almostThere;


    mInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    LinearLayout convertView = (LinearLayout)mInflater.inflate(R.layout.sb_icon,null);



    while(!formattedStrings.isEmpty()) {
        setContentView(R.layout.sb_icon);
        almostThere = formattedStrings.remove(0);   

        if (almostThere[0].contains("product")) {
            TextView tempText = (TextView) findViewById(R.id.spring_board_title);
            tempText.setText(almostThere[2]);
            tempText = (TextView)findViewById(R.id.spring_board_description);
            tempText.setText(almostThere[5]);
        } else if (almostThere[0].contains("link")) {
            TextView tempText = (TextView) findViewById(R.id.spring_board_title);
            tempText.setText(almostThere[1]);
            tempText = (TextView)findViewById(R.id.spring_board_description);
            tempText.setText(almostThere[4]);
        } else {
            pdfStrings.add(almostThere);
        }

        setContentView(R.layout.springboard_view);
        LinearLayout linearLayout = (LinearLayout)findViewById(R.id.sbpad);
        linearLayout.addView(convertView);
    }



}

1 个答案:

答案 0 :(得分:1)

这不仅仅是带有ArrayAdapter的普通ListView。与此示例中的内容类似:Custom ListView items and adapters