[android]動態(tài)為生成 id 與按鈕單擊多個 edittext

我有一個行的 EditText
。我的情況是當(dāng)用戶點擊一個按鈕,另一個將添加行。我不知怎么實現(xiàn)這個,但兩個 EditText
有相同的 id。所以如何分配的 id EditText
動態(tài)創(chuàng)建。我 EditText
是在布局的 XML 文件。是可能的與 XML 或我要創(chuàng)建 EditText
以編程方式。先謝謝了。

private void inflateEditRow(String name) {

 LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 final View rowView = inflater.inflate(R.layout.row, null);
 final ImageButton deleteButton = (ImageButton) rowView
         .findViewById(R.id.buttonDelete);
 final EditText editText = (EditText) rowView
         .findViewById(R.id.req);

 if (name != null && !name.isEmpty()) {
     editText.setText(name);
 } else {
     mExclusiveEmptyView = rowView;
     deleteButton.setVisibility(View.VISIBLE);
 }

 // A TextWatcher to control the visibility of the "Add new" button and
 // handle the exclusive empty view.
 editText.addTextChangedListener(new TextWatcher() {

     @Override
     public void afterTextChanged(Editable s) {

         if (s.toString().isEmpty()) {
             mAddButton.setVisibility(View.VISIBLE);
             deleteButton.setVisibility(View.VISIBLE);

             if (mExclusiveEmptyView != null
                     && mExclusiveEmptyView != rowView) {
                 mContainerView.removeView(mExclusiveEmptyView);
             }
             mExclusiveEmptyView = rowView;
         } else {

             if (mExclusiveEmptyView == rowView) {
                 mExclusiveEmptyView = null;
             }

             mAddButton.setVisibility(View.VISIBLE);
             deleteButton.setVisibility(View.VISIBLE);
         }
     }


 public void onAddNewClicked(View v) {
 // Inflate a new row and hide the button self.
 inflateEditRow(null);
 v.setVisibility(View.VISIBLE);
}

解決方法 1:
以便動態(tài)生成使用窗體視圖 Id API 17
generateViewId()
這將生成一個值適合在中使用 setId(int)
。此值將與由 aapt 為在生成時生成的 ID 值不碰撞R.id.

喜歡這個

@Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            EditText editText = new EditText(MainActivity.this);
            editText.setId(editText.generateViewId());
            editText.setHeight(50);
            editText.setWidth(50);
            ll.addView(editText);

        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,378評論 0 17
  • TextView文本框 TextView類的結(jié)構(gòu) TextView是用于顯示字符串的組件,對于用戶來說就是屏幕中一...
    墨櫛楓閱讀 1,243評論 3 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,291評論 25 708
  • 白光穿透了淺灰云 好像是黎明 溫風(fēng)夾著雨絲 問候每個行人的臉龐 撐著傘 駐足的背影有些孤單 看著你揮手 臉上只是微...
    宇光Rain閱讀 478評論 0 0

友情鏈接更多精彩內(nèi)容