2014-01-29 6 views
0

В моем приложении при нажатии кнопки открыта телефонная книга «Добавить контакт» открывается, а затем пользователь выбирает контакт, который отображается в Edittext View, и когда нажата другая кнопка «Добавить дополнительные контакты», в верхней части экрана отображается другой текст Edit-Text View, для которого я могу снова выбрать контакт из телефонной книги. Но проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы пользователь мог добавлять только до 5 Редактировать текст. Я использую следующий код, но его сила сбой приложения. Пожалуйста помоги. А также я хочу, чтобы редактирование текстовых представлений не редактировалось, для чего я пробовал editable=false, но он работает только для первого редактирования текстового представления, а не для других представлений, которые впоследствии добавляет пользователь.Android Trouble with Edit Text Views

int id = 1; 


      layoutLinear = (LinearLayout) findViewById(R.id.mLayout); 
       btn_addmore_cntct = (Button) findViewById(R.id.baddmorecontacts); 
       btn_addmore_cntct.setOnClickListener(OnClick()); 
       EditText editview = new EditText(this); 
       editview.setText("Add more"); 
       editview.setEnabled(false); 
       editview.setFocusable(false); 

      } 

      // implementing OnClickListener OnClick() method for "btn_addmore_cntct" 
      // button 
      private OnClickListener OnClick() { 
       // TODO Auto-generated method stub 
       // changing return type "null" to "new OnClickListner" 
       return new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 



         if(layoutLinear.getChildCount()>5){ 

         }else{ 
          final EditText tab = new EditText(getApplicationContext()); 
          tab.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 
          tab.setId(id); 
          id++; 
     layoutLinear.addView(tab,0); 
    tab.requestFocus(); 
         } 
+0

Опубликовать ur logcat? – keshav

ответ

1

Вы можете использовать следующим образом.

int temp; 

public void onCreate(Bundle savedinstance) { 
    super.onCreate(savedinstance); 
    setContentView(R.layout.yourlayout); 
    temp=1; 
    layoutLinear = (LinearLayout) findViewById(R.id.mLayout); 
    btn_addmore_cntct = (Button) findViewById(R.id.baddmorecontacts); 
    btn_addmore_cntct.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
     if(temp<=5){ 
       EditText tab = new EditText(getApplicationContext()); 
       tab.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 
       tab.setEnabled(false); 
       tab.setFocusable(false); 
       layoutLinear.addView(tab); 
       temp++; 
     }else{ 
      //Print message to user Cant add more editText. 

     } 

     } 
    }); 
} 

Сообщите мне о своей работе или нет.

2

Просто проверьте номер из layoutLinear ребенка

if(layoutLinear.getChildCount()>5){ 

    //nothing to do 
}else{ 
    //create new EditText and add to layoutLinear 
} 

пользователя этот код, чтобы отключить EditText

edittext.setEnabled(false); 
edittext.setFocusable(false); 
+0

вот как я реализовал ваш код, но его только добавление 1 Редактирование текстового вида. –