【问题标题】:adding dynamic checkboxes to android when i click a button当我点击一个按钮时向android添加动态复选框
【发布时间】:2014-08-07 12:25:42
【问题描述】:

我刚开始开发一个简单的清单应用程序,我的想法是我有一个 EditText 和一个按钮。当我输入文本并点击“添加”按钮时,我希望它制作一个清单。 我已经设法让应用程序显示一个带有我输入的文本的复选框,唯一的问题是我找不到将新复选框放到屏幕上的方法。

最烦人的是我知道它为什么要这样做,我只声明了一个名为“cb”的复选框,当然当我点击回车时,它总是会为“cb”分配新值。

如果有人能指出我正确的方向,将不胜感激。

package com.pzayx.shoppinglist;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ScrollView;



 public class MainActivity extends Activity {
int i = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     //setContentView(R.layout.activity_dynamic_views);
    /*
     * Adds scrollview inside a linearlayout, 
             *setting up a edittext, a add button and a checkbox
     */
    final CheckBox cb = new CheckBox(this);
    ScrollView scrl = new ScrollView(this);
    final LinearLayout lil = new LinearLayout(this);
     lil.setOrientation(LinearLayout.VERTICAL);
     scrl.addView(lil);
     final EditText EDIT_TEXT = new EditText(this);
     EDIT_TEXT.setText("");
     lil.addView(EDIT_TEXT);
     Button btn = new Button(this);
     btn.setText("Add");
     lil.addView(btn);

     btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            try {
            String text = EDIT_TEXT.getText().toString();
            EDIT_TEXT.setText("");
            cb.setId(i);
            cb.setText(text);
            text = null;
            lil.addView(cb);
            i++;
            } catch (Exception e) {
                e.printStackTrace();
            }



        }

     });
     this.setContentView(scrl);


    }
public boolean OnCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


}

【问题讨论】:

    标签: android dynamic checkbox view


    【解决方案1】:

    试试:

    btn.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                for(int i = 0; i < 20; i++) {
                    CheckBox cb = new CheckBox(getApplicationContext());
                    cb.setText("I'm dynamic!");
                    lil.addView(cb);
                }
            }
        });
    

    【讨论】:

    • 谢谢,我必须插入; cb.setid(i);然后它插入了更多的复选框,现在我可以使用了!
    猜你喜欢
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2014-05-12
    • 2014-02-25
    • 2016-11-25
    • 2012-11-09
    相关资源
    最近更新 更多