Кнопка Добавить рядом с текстовым представлением программно - PullRequest
0 голосов
/ 05 июля 2019

В настоящее время я постепенно добавляю textview в свой код.

что я хочу, это программно поставить кнопку рядом с «anothertextview»

вот мой текущий код:

  void addSubCat(){
        final TextView subCat = new TextView(EncodeGroupActivity.this);
        subCat.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT));
        subCat.setText("Sub Category");
        subCat.setTextSize(12);
        subCat.setId(subCatCounter + 1);

        final TextView subCatTextField = new TextView(EncodeGroupActivity.this,null,0,R.style.TextViewEncode);
        subCat.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT));
        subCatTextField.setTextAppearance(EncodeGroupActivity.this, R.style.TextViewEncode);
        subCatTextField.setHint(R.string.sub_category);
        subCatTextField.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showSubCategoryDialog(subCatTextField);
            }
        });
        subCatTextField.setId(subCat.getId());


        linearLayoutInside.addView(subCat);
        linearLayoutInside.addView(subCatTextField);
    }

Вот пример визуализации того, чего я хочу достичь.

Ответы [ 2 ]

2 голосов
/ 05 июля 2019

1. => Привет! Сначала возьмите один LinearLayout с вертикальной ориентацией в вашем XML-файле, например ..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    android:id="@+id/mainLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</LinearLayout>

2. => Поставить код ниже в вашей деятельности (как ваш вопрос в вашем методе)

private LinearLayout mainLayout;
        mainLayout=findViewById(R.id.mainLayout);

        LinearLayout linearLayout=new LinearLayout(MainActivity.this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        mainLayout.addView(linearLayout);
        TextView textView=new TextView(MainActivity.this);
        textView.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT));
        textView.setText("TEXTVIEW");
        textView.setTextSize(12);
        textView.setId(1);

        linearLayout.addView(textView);

        LinearLayout linearLayout1=new LinearLayout(MainActivity.this);
        linearLayout1.setOrientation(LinearLayout.HORIZONTAL);
        linearLayout1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        mainLayout.addView(linearLayout1);
        TextView textView1=new TextView(MainActivity.this);
        textView1.setLayoutParams(new LinearLayout.LayoutParams(
                400,
                LinearLayout.LayoutParams.WRAP_CONTENT));
        textView1.setText("ANOTHERTEXTVIEW");
        textView1.setTextSize(12);
        textView1.setId(2);
        linearLayout1.addView(textView1);


        Button button=new Button(MainActivity.this);
        button.setLayoutParams(new LinearLayout.LayoutParams(
                300,
                LinearLayout.LayoutParams.WRAP_CONTENT));
        button.setText("BUTTON");
        button.setPadding(10,10,10,10);
        button.setTextSize(12);
        linearLayout1.addView(button);

И, наконец, достигните своей точки зрения, как вы хотите ..;) enter image description here

0 голосов
/ 05 июля 2019

Попробуйте это

void addSubCat(){
            final TextView subCat = new TextView(EncodeGroupActivity.this);
            subCat.setLayoutParams(new LinearLayout.LayoutParams(
                    LinearLayout.LayoutParams.MATCH_PARENT,
                    LinearLayout.LayoutParams.MATCH_PARENT));
            subCat.setText("Sub Category");
            subCat.setTextSize(12);
            subCat.setId(subCatCounter + 1);

            final TextView subCatTextField = new TextView(EncodeGroupActivity.this,null,0,R.style.TextViewEncode);
            subCat.setLayoutParams(new LinearLayout.LayoutParams(
                    LinearLayout.LayoutParams.MATCH_PARENT,
                    LinearLayout.LayoutParams.MATCH_PARENT));
            subCatTextField.setTextAppearance(EncodeGroupActivity.this, R.style.TextViewEncode);
            subCatTextField.setHint(R.string.sub_category);
            subCatTextField.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    showSubCategoryDialog(subCatTextField);
                }
            });
            subCatTextField.setId(subCat.getId());

           Button myButton = new Button(this);<-------
           myButton.setText("Push Me");<-------
           linearLayoutInside.addView(myButton, lp);<-------

            linearLayoutInside.addView(subCat);
            linearLayoutInside.addView(subCatTextField);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...