android --动态添加控件

来源:互联网 发布:公务员自动听课软件 编辑:程序博客网 时间:2024/05/24 06:35

用android做东西时需要用到在程序运行时动态添加控件,自己看了下别人的东西,然后结合自己的情况写了下,用着还行,

下面是代码

package com.example.addkj;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnLongClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.LinearLayout;public class MainActivity extends Activity {LinearLayout MyLayout = null;View CurView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {MyLayout = new LinearLayout(this);MyLayout.setOrientation(LinearLayout.VERTICAL);super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);for(int i=0;i<5;++i){Button btn01 = new Button(this);btn01.setText("Button "+i);MyLayout.addView(btn01);}setContentView(MyLayout);/*btn01.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {EditText te = new EditText(v.getContext());te.setBackgroundDrawable(null); //设置edittext没有边框,类似于android:background="@null"te.setText("新开出来的。。。"+te.getBaseline());MyLayout.addView(te);}});btn01.setOnLongClickListener(new OnLongClickListener(){@Overridepublic boolean onLongClick(View v) {CurView = v;return false;}});*/super.registerForContextMenu(MyLayout);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}@Overridepublic boolean onContextItemSelected(MenuItem item) {switch(item.getItemId()){case Menu.FIRST:MyLayout.removeView(CurView);break;}return super.onContextItemSelected(item);}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);//super.getMenuInflater().inflate(R.menu.mymenu, menu);menu.add(0,Menu.FIRST,1,"删除");menu.add(0,Menu.FIRST+2,2,"取消");}}


原创粉丝点击