2012-10-20 14 views
12

में प्रोग्रामेटिक रूप से पाठ संपादित करना उत्पन्न करना मैं संपर्क अनुप्रयोग विकसित कर रहा हूं, जो ईमेल पता, फोन नंबर जोड़ता है। मुझे कोड में गतिशील रूप से संपादन टेक्स्ट बनाना होगा। मुझे नहीं पता कि इस तर्क को कैसे और कहाँ कार्यान्वित किया जाए, सुझाव दें कि कोई मदद आभारी होगी।एंड्रॉइड

उत्तर

20

तुम इतनी है कि यह बना सकते हैं:

EditText myEditText = new EditText(context); // Pass it an Activity or Context 
myEditText.setLayoutParams(new LayoutParams(..., ...)); // Pass two args; must be LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, or an integer pixel value. 
myLayout.addView(myEditText); 

यह यूआई धागे पर कहीं भी लागू किया जा सकता है; एक क्लिक श्रोता, onCreate विधि, और बीच में सबकुछ।

in this question और अधिक सामान्य उदाहरण in this blog पर एक सामान्य सामान्य उदाहरण है।

8

प्रोग्रामेटिक रूप से एडिटक्स्ट जोड़ने के लिए नीचे दिए गए कोड का उपयोग करें, यह आपकी समस्या का समाधान करेगा।

RelativeLayout mRlayout = (RelativeLayout) findViewById(R.id.mRlayout); 
RelativeLayout.LayoutParams mRparams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
EditText myEditText = new EditText(context); 
myEditText.setLayoutParams(mRparams); 
mRlayout.addView(myEditText); 
3

लेआउट

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/TableLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_margin="20dp" 
android:gravity="center_horizontal" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Contact Application" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_horizontal"/> 

कोड

//container Layout 
    TableLayout tbl=(TableLayout)findViewById(R.id.TableLayout1); 
    //table row 
    TableRow tr = new TableRow(this); 
    TableLayout.LayoutParams tableRowParams= 
      new TableLayout.LayoutParams 
      (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT); 
    //for set margin 
    tableRowParams.setMargins(0, 10, 0, 0); 
    tr.setLayoutParams(tableRowParams); 
    //text view 
    TextView tv=new TextView(this); 
    tv.setText("Email"); 
    tv.setGravity(Gravity.CENTER); 
    tv.setTextColor(Color.parseColor("#0070C0")); 
    tv.setTextSize(26); 
    tv.setLayoutParams(new TableRow.LayoutParams(100, TableRow.LayoutParams.WRAP_CONTENT)); 
    //add textview 
    tr.addView(tv); 
    //set layout params of edittext 
    TableRow.LayoutParams etParams= 
      new TableRow.LayoutParams 
      (120,30); 
    etParams.setMargins(10, 0, 0, 0); 

    EditText et=new EditText(this); 
    et.setLayoutParams(etParams); 
    //set background 
    et.setBackgroundResource(R.drawable.bg_grey); 
    et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); 
    tr.addView(et); 

    tbl.addView(tr, tableRowParams);