如何给动态创建按钮的id和onclick方法 [英] How to give id and onclick method to dynamically created button

查看:167
本文介绍了如何给动态创建按钮的id和onclick方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 package in.confio.www.dynamictext; 

import android.annotation.SuppressLint;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.view.menu.ListMenuPresenter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

公共类MainActivity扩展AppCompatActivity {
private LinearLayout mLayout;
private EditText mEditText;
private Button mButton;
整数No_Buttons;


@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mLayout =(LinearLayout)findViewById(R.id.liner);
mEditText =(EditText)findViewById(R.id.editText);
mButton =(Button)findViewById(R.id.button);
mButton.setOnClickListener(onClick());


}




private View.OnClickListener onClick(){
返回新的View.OnClickListener (){


@SuppressLint(ResourceType)
@Override
public void onClick(View v){
mLayout.addView(createNewButton( 。mEditText.getText()的toString()));
mEditText.setId();
mEditText.setOnClickListener();

}
};
}

private Button createNewButton(String text){
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
final Button button = new Button(this);
button.setLayoutParams(lparams);
button.setText(新房间:+文字);
返回按钮;



}


}





我的尝试:



<?xml version =1.0encoding =utf -8\" >?; 
< LinearLayout xmlns:android =http://schemas.android.com/apk/res/android
xmlns:app =http://schemas.android.com/apk/res -auto
xmlns:tools =http://schemas.android.com/tools
android:orientation =vertical
android:id =@ + id / liner
android:layout_width =fill_parent
android:layout_height =fill_parent
tools:context =in.confio.www.dynamictext.MainActivity>

< EditText
android:id =@ + id / editText
android:layout_width =fill_parent
android:layout_height =wrap_content
/>
< Button
android:id =@ + id / button
android:layout_width =wrap_content
android:layout_height =wrap_content
android: text =添加+
/>

< / LinearLayout>

解决方案

按钮| Android开发者 [ ^ ]

package in.confio.www.dynamictext;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.view.menu.ListMenuPresenter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private LinearLayout mLayout;
    private EditText mEditText;
    private Button mButton;
Integer No_Buttons;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mLayout = (LinearLayout) findViewById(R.id.liner);
        mEditText = (EditText) findViewById(R.id.editText);
        mButton = (Button) findViewById(R.id.button);
        mButton.setOnClickListener(onClick());


        }




    private View.OnClickListener onClick() {
        return new View.OnClickListener() {


            @SuppressLint("ResourceType")
            @Override
            public void onClick(View v) {
                mLayout.addView(createNewButton(mEditText.getText().toString()));
                mEditText.setId();
                mEditText.setOnClickListener();

            }
        };
    }

    private Button createNewButton(String text) {
        final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        final Button button = new Button(this);
        button.setLayoutParams(lparams);
        button.setText("New Room: " + text);
        return button;



    }


}



What I have tried:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:id="@+id/liner"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context="in.confio.www.dynamictext.MainActivity">

    <EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add+"
        />

</LinearLayout>

解决方案

Button | Android Developers[^]


这篇关于如何给动态创建按钮的id和onclick方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆