当前位置: 首页 > 面试题库 >

将视图(按钮,标签等)添加到动态片段,而无需使用任何资源XML

魏康安
2023-03-14
问题内容

首先,我想说的是“你好,在这里”。

要求:

我应该可以创建一个客户端应用程序,该应用程序从数据库中获取有关控件的元数据。该应用程序应该能够从一个视图(带有子视图,例如按钮)切换到另一视图。

状态:

我使用接口和子类(例如,按钮的子类)创建了一个相对庞大的开发模型,它们都实现了自己的特殊接口,以便对我的需求做出正确的反应。我了解了fragment,fragmentactivity和fragment,我必须使用v4兼容性类,因此我的活动继承自FragmentActivity并实现了一些特殊的自己的接口。现在到了这一点,控制器类(这是我的FragmentActivity类中的唯一引用)做了很多事情,最后应该使片段可见。

我还已经在集合中收集了这些子视图(按钮,标签,textviews),并且每个运行时创建的片段现在都应该将其子视图“放置”到屏幕上。记住,我的自定义视图“
Fragment”继承自Fragment并实现了一些特殊的东西。

我的片段是在运行时创建的,因此没有定义任何布局的xml。

问题:

a)是否可以在没有xml-
layout的情况下以编程方式在运行时将任何布局应用于片段?我第一次使用自定义片段类中全局声明的Layout的尝试没有成功,因为我想在几种状态下调用getView(),但始终都为空。所以我必须问

b)问题b(仅当a == true时)何时以及如何才能从getView接收正确的视图以便以编程方式设置布局?

提前THX。


问题答案:
package com.example.test;

import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;


public class FragmentExample extends android.app.Fragment
{

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onViewCreated(view, savedInstanceState);

        //Set a linearLayout to add buttons
        LinearLayout linearLayout = new LinearLayout(getActivity());
        // Set the layout full width, full height
        LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        linearLayout.setLayoutParams(params);
        linearLayout.setOrientation(LinearLayout.HORIZONTAL); //or VERTICAL

        Button button = new Button(getActivity());
        //For buttons visibility, you must set the layout params in order to give some width and height: 
        LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        button.setLayoutParams(params);

        Button button2 = new Button(getActivity());
                button2.setLayoutParams(params);
        //... and other views

        ViewGroup viewGroup = (ViewGroup) view;

        linearLayout.addView(button);
        linearLayout.addView(button2);

        viewGroup.addView(linearLayout);
    }
}


 类似资料:
  • 问题内容: 我有一些与它们相关联的jQueryUI按钮的项目列表。完成一个动作(删除一个项目)后,我想通过ajax重新加载列表。 唯一的问题是,当我这样做时,JQueryUI按钮不再显示,仅显示标准标记。 我知道我可以动态添加点击处理程序等,但是如何将jQueryUI 应用于它们? 问题答案: 通过ajax重新加载时,请在该上下文中调用(或使用的任何变体),如下所示: 这将 仅在响应中的*元素上运

  • 我想从片段到活动使用返回按钮使用工具栏返回图标。 碎片是我的抽屉菜单项 我该怎么做?

  • 本文向大家介绍使用jQuery在移动页面上添加按钮和给按钮添加图标,包括了使用jQuery在移动页面上添加按钮和给按钮添加图标的使用技巧和注意事项,需要的朋友参考一下 创建按钮 data-role=button 给HTML元素添加 data-role="button" 属性。jQuery Moble就会给此元素增强为按钮样式。 Jquery Mobile框架包含了一组最常用的移动应用程序所需的图标

  • 由于对WP 4.1的更改,他们使用了添加主题支持(“标题标签”);允许wordpress处理标题标签。大多数情况下这很好,但我遇到了一个需要编辑它的实例。 我创建了一个简单的页面,并通过使用api动态更改页面上的内容。但当谈到搜索引擎优化,他们都有相同的网页标题。例子:http://vitaferm.com/product/?id=372 是否有一种方法可以通过配置WP的方式将我的产品标题添加到页

  • 问题内容: 是否可以通过滑动将数据从一个片段传递到另一个片段? 有很多文章教我们如何将数据从一个片段传递到另一个片段,但是大多数文章或问题已在其第一个片段中实现了OnClickListener,该控件过去曾将值传递给另一个片段。 但是我的情况是不单击任何按钮就传递来自两个片段的数据,最后通过单击最后一个片段中的按钮将它们保存在不同的表中。我该怎么做? 流程为 >> >> ,只需单击一下即可将它们保

  • 问题内容: 我想添加除“确定”按钮以外的另一个按钮,该按钮应仅关闭警报。我希望其他按钮调用某个功能。 我如何在此警报中添加另一个按钮,然后单击该按钮,然后允许它调用一个函数,因此可以说我们希望新按钮进行调用: 问题答案: Swifty方法是使用新的UIAlertController和闭包: 斯威夫特3: