android中“加号”控件
本人初学java,想参照android电话簿的功能自己做一下,现在遇到了一个问题,希望高手们不吝赐教。我看到预置的电话帐功能中,有一个“+”控件,其作用是点击一下动态添加...
本人初学java,想参照android电话簿的功能自己做一下,现在遇到了一个问题,希望高手们不吝赐教。
我看到预置的电话帐功能中,有一个“+”控件,其作用是点击一下 动态添加一行控件,我就想问一下这个控件怎么调用,这个不能再布局中搞,只能代码中实现,希望大大们给个例子,网上我也找到过一个,不过代码太长了,我不知道代码中哪个部分是实现“+”控件作用的,话说我java真的是初学,希望不要扔一大段代码上来,即便是一大段代码,也麻烦帮我注释一下,真的谢谢大家了! 展开
我看到预置的电话帐功能中,有一个“+”控件,其作用是点击一下 动态添加一行控件,我就想问一下这个控件怎么调用,这个不能再布局中搞,只能代码中实现,希望大大们给个例子,网上我也找到过一个,不过代码太长了,我不知道代码中哪个部分是实现“+”控件作用的,话说我java真的是初学,希望不要扔一大段代码上来,即便是一大段代码,也麻烦帮我注释一下,真的谢谢大家了! 展开
展开全部
那个“+”号其实是一个按钮,你可以用Android中的ImageButton。
具体用法,在你的布局Layout中,在你需要那个“+”号的位置声明一个ImageButton,代码:
<ImageButton
android:id="@+id/btn_add"
androdi:src="@drawable/android.R.drawable.ic_menu_add"
android:layout_width="wrap_content"
android:layout_width="wrap_content">
这个图片的位置在你的SDK目录下面的:\android-sdk-windows\docs\images\icon_design目录下面。
在你的代码中添加对这个Button的响应。
addButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Editext edit = new EditText();
myLayout.addView(edit);
}
});
myLayout就是你的界面的Layout。addButton就是你刚刚添加的这个ImageButton。
大概就是这个意思,当你点击按钮的时候,在你的Layout里面新加一个EditText进去。前提是你的Layout的高度要设置成wrap_content。
具体用法,在你的布局Layout中,在你需要那个“+”号的位置声明一个ImageButton,代码:
<ImageButton
android:id="@+id/btn_add"
androdi:src="@drawable/android.R.drawable.ic_menu_add"
android:layout_width="wrap_content"
android:layout_width="wrap_content">
这个图片的位置在你的SDK目录下面的:\android-sdk-windows\docs\images\icon_design目录下面。
在你的代码中添加对这个Button的响应。
addButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Editext edit = new EditText();
myLayout.addView(edit);
}
});
myLayout就是你的界面的Layout。addButton就是你刚刚添加的这个ImageButton。
大概就是这个意思,当你点击按钮的时候,在你的Layout里面新加一个EditText进去。前提是你的Layout的高度要设置成wrap_content。
更多追问追答
追问
谢谢你的回答 我按照你的意思写了几行,在layout中也声明了控件,但是 R.layout.register.addView(edit);报错,报错提示是:Cannot invoke addView(EditText) on the primitive type int 请教该如何应对,java初学,很多不懂的,麻烦你了
追答
addView()不是你那么用的,要这样:
LayoutInflater inflater = (LayoutInflater) this.getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
myLayout= (LinearLayout) inflater.inflate(R.layout.register, null);
//这是将你的Layout文件转变成LinearLayout类型的变量
myLayout.addView(edit)
//然后用这个变量去add
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |