दिलचस्प पोस्ट
अजगर: प्रोग्राम का एकल उदाहरण मैं एक स्ट्रिंग को कैसे विभाजित कर सकता हूं, एक विशेष चरित्र पर तोड़ सकता हूं? रिमोट जीआईटी रिपॉजिटरी के लिए यूआरआई (यूआरएल) बदलें सरणी को दोहराए जाने के बजाए बार की संख्या को परिभाषित करने के लिए रास्ता? प्रोग्रामिंग पी 2 पी आवेदन Android सूचीदृश्य विभक्त संदर्भ के बीच का अंतर: एनोटेशन-कॉन्फिग> बनाम <संदर्भ: घटक-स्कैन> आप SQL सर्वर लेनदेन लॉग को कैसे साफ़ करते हैं? टंकिनर: विधि के बाद कैसे उपयोग करें एक सामान्य वर्ग में स्थैतिक विधि? मैं C ++ कोड को संकलित करने के लिए VSCode कैसे स्थापित करूं? बंद वर्कबुक से मूल्य प्राप्त करने के लिए ExecuteExcel4Macro मैं PHP के साथ एक पोस्ट अनुरोध कैसे भेजूं? कैसे UITableViewCell के बीच अंतर जोड़ने के लिए 0 – 100 के बीच प्रधान संख्याओं को कैसे ढूंढें?

Android में गतिशील रूप से एक बटन कैसे जोड़ें?

Android में गतिशील रूप से एक बटन कैसे जोड़ें?

वेब के समाधान से एकत्रित समाधान "Android में गतिशील रूप से एक बटन कैसे जोड़ें?"

Button myButton = new Button(this); myButton.setText("Push Me"); LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout); LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); ll.addView(myButton, lp); 

इस उदाहरण को देखें

इसे इस्तेमाल करे:

 for (int i = 1; i <= 20; i++) { LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); Button btn = new Button(this); btn.setId(i); final int id_ = btn.getId(); btn.setText("button " + id_); btn.setBackgroundColor(Color.rgb(70, 80, 90)); linear.addView(btn, params); btn1 = ((Button) findViewById(id_)); btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Toast.makeText(view.getContext(), "Button clicked index = " + id_, Toast.LENGTH_SHORT) .show(); } }); } 

इसे इस्तेमाल करे:

 LinearLayout ll = (LinearLayout)findViewById(R.id.layout); Button btn = new Button(this); btn.setText("Manual Add"); btn.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); ll.addView(btn); 
 for (int k = 1; k < 100; k++) { TableRow row = new TableRow(this); innerloop: for (int l = 1; l < 4; l++) { btn = new Button(this); TableRow.LayoutParams tr = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); layout.setWeightSum(12.0f); tr.weight = 0; btn.setLayoutParams(tr); btn.setTextColor(a); btn.setHeight(150); btn.setWidth(150); btn.setId(idb); btn.setText("Button " + idb); row.addView(btn); } } 

इस कोड को आज़माएं

  Button btn=new Button(this); btn.setId(btn); btn.setBackgroundResource(R.drawable.image); btn.setMinimumHeight(150); btn.setMinimumWidth(150); Relativelayout.addView(btn); 

इसे इस्तेमाल करे

 private void createLayoutDynamically(int n) { for (int i = 0; i < n; i++) { Button myButton = new Button(this); myButton.setText("Button :"+i); myButton.setId(i); final int id_ = myButton.getId(); LinearLayout layout = (LinearLayout) findViewById(R.id.myDynamicLayout); layout.addView(myButton); myButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Toast.makeText(DynamicLayout.this, "Button clicked index = " + id_, Toast.LENGTH_SHORT) .show(); } }); } 

इस कोड को आज़माएं यह ठीक काम करेगा ..

 public class DynamicViewsActivity extends Activity { Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_dynamic_views); ScrollView scrl=new ScrollView(this); final LinearLayout ll=new LinearLayout(this); ll.setOrientation(LinearLayout.HORIZONTAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(100, 500, 100, 200); scrl.addView(ll); Button add_btn=new Button(this); add_btn.setText("Click Here"); ll.addView(add_btn, layoutParams); final Context context = this; add_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(context, App2Activity.class); startActivity(intent); } }); this.setContentView(scrl); } } 

इसे चेक करें

 LinearLayout ll_Main = new LinearLayout(getActivity()); LinearLayout ll_Row01 = new LinearLayout(getActivity()); LinearLayout ll_Row02 = new LinearLayout(getActivity()); ll_Main.setOrientation(LinearLayout.VERTICAL); ll_Row01.setOrientation(LinearLayout.HORIZONTAL); ll_Row02.setOrientation(LinearLayout.HORIZONTAL); final Button button01 = new Button(getActivity()); final Button button02 = new Button(getActivity()); final Button button03 = new Button(getActivity()); final Button button04 = new Button(getActivity()); ll_Row01.addView(button01); ll_Row01.addView(button02); ll_Row02.addView(button03); ll_Row02.addView(button04); ll_Main.addView(ll_Row01); ll_Main.addView(ll_Row02); button04.setVisibility(View.INVISIBLE); button04.setVisibility(View.VISIBLE); 

मैंने एक LinearLayout में कई टेक्स्टएव्स जोड़ने के लिए इस (या बहुत समान) कोड का उपयोग किया है:

 // Quick & dirty pre-made list of text labels... String names[] = {"alpha", "beta", "gamma", "delta", "epsilon"}; int namesLength = 5; // Create a LayoutParams... LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.FILL_PARENT); // Get existing UI containers... LinearLayout nameButtons = (LinearLayout) view.findViewById(R.id.name_buttons); TextView label = (TextView) view.findViewById(R.id.master_label); TextView tv; for (int i = 0; i < namesLength; i++) { // Grab the name for this "button" final String name = names[i]; tv = new TextView(context); tv.setText(name); // TextViews CAN have OnClickListeners tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { label.setText("Clicked button for " + name); } }); nameButtons.addView(tv, params); } 

इस और डिक्लॉवा 795 के कोड के बीच मुख्य अंतर यह है कि प्रत्येक पाठदृश्य के लिए आईडी () और पुनः प्राप्त नहीं होता (आई) – मुझे यह अनावश्यक पाया गया था, हालांकि मुझे इसके बाद की आवश्यकता एक सामान्य हैंडलर रूटीन में प्रत्येक बटन की पहचान हो सकती है ( जैसे प्रत्येक टेक्स्टव्यू के लिए onClick () द्वारा बुलाए गए एक)

निम्नलिखित कोड का प्रयास करें

 LinearLayout layout = (LinearLayout) findViewById(R.id.llayout); layout.setOrientation(LinearLayout.VERTICAL); Button btn = new Button(this); btn.setText("Button1"); layout.add(btn); btn = new Button(this); btn.setText(Button2); layout.add(btn); 

जैसे आप अपनी आवश्यकताओं के अनुसार बटन जोड़ते हैं

असल में मैं XML लेआउट फाइल में जो कुछ भी इस्तेमाल किया जा सकता है उसे जोड़ देता हूं! फिर विशिष्ट गतिविधि के स्रोत कोड से मुझे ऑब्जेक्ट को उसके आईडी से मिलता है और मैं दृश्यता विधि के साथ "खेलता हूं"।

यहाँ एक उदाहरण है:

((Spinner)findViewById(R.id.email_spinner)).setVisibility(View.GONE);

 Button myButton = new Button(this); myButton.setId(123); myButton.setText("Push Me"); LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout); LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); ll.addView(myButton, lp); myButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Toast.makeText(DynamicLayout.this, "Button clicked index = " + id_, Toast.LENGTH_SHORT) .show(); } }); 

यदि आप गतिशील बटन जोड़ना चाहते हैं तो यह प्रयास करें:

 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); for (int i = 1; i <= 5; i++) { LinearLayout layout = (LinearLayout) findViewById(R.id.myLinearLayout); layout.setOrientation(LinearLayout.VERTICAL); Button btn = new Button(this); btn.setText(" "); layout.addView(btn); } } 
 public void add_btn() { lin_btn.setWeightSum(3f); for (int j = 0; j < 3; j++) { LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params1.setMargins(10, 0, 0, 10); params1.weight = 1.0f; LinearLayout ll; ll = new LinearLayout(this); ll.setGravity(Gravity.CENTER_VERTICAL); ll.setOrientation(LinearLayout.HORIZONTAL); ll.setLayoutParams(params1); final Button btn; btn = new Button(DynamicActivity.this); btn.setText("A"+(j+1)); btn.setTextSize(15); btn.setId(j); btn.setPadding(10, 8, 10, 10); ll.addView(btn); lin_btn.addView(ll); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(v.getId()==0) { txt_text.setText("Hii"); }else if(v.getId()==1) { txt_text.setText("hello"); }else if(v.getId()==2) { txt_text.setText("how ru"); } } }); } } 

mainactivity.xml लिखें:

 <Button android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Search" android:visibility="invisible"/> 

main.java लिखें:

 Button buttonSearch; buttonSearch = (Button)findViewById(R.id.search); buttonSearch.setVisibility(View.VISIBLE);