如何在线性布局中以编程方式创建TextView?

时间:2017-07-19 16:51:17

标签: java android

我正在尝试在LinearLayout中以编程方式创建TextView。该程序包括一个检查系统,以检查它是否已被添加,并且创建textview的提示是一个微调器中的选项。这是微调器的完整onClick方法

public void onClick(String Ingredient, int i) {

            Toast.makeText(Kitchen.super.getContext(), "Selected "+Ingredient, Toast.LENGTH_SHORT).show();

            if(Ingredient.equals(tomatoSauce.name)) {

                if (tomatoSauce.init == 0){

                    tomatoSauce.init = 1;
                    TextView one = new TextView(getContext());
                    one.setText(Ingredient);
                    mainll.addView(one);

                }


            } else if(Ingredient.equals(chicken.name)) {

                chicken.init = 1;

            } else if(Ingredient.equals(olives.name)){

                olives.init  = 1;

            }

        }

当使用单独的方法启动应用程序时,将从xml布局中识别线性​​布局。

final LinearLayout mainll = (LinearLayout) getActivity().findViewById(R.id.main);

尽管缺少已识别的编码错误,但从菜单中选择番茄酱时应用程序崩溃了。任何有关此问题的帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试添加以下代码行:

LinearLayout linearLayout =  (LinearLayout) findViewById(R.id.linear_layout_id);

TextView tv = new TextView(this);
tv.setText("hallo hallo");
tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

linearLayout.addView(tv);