2017-11-03 10 views
0

EditText으로 동적 표 행을 만드는 방법. 사용자는 '추가'버튼을 클릭하여 행을 추가하고 제거 버튼을 클릭하여 행을 제거 할 수 있습니다.수정 텍스트가있는 Android 동적 표 행

enter image description here

+0

일부 HTML 당신이 웹보기 사용했던 것처럼이 보이거나 네이티브 Android UI로 작업 하시겠습니까? –

+0

기본 Android UI –

+0

"맞춤 목록보기"또는 "RecyclerView"로 검색하십시오. –

답변

0

당신은 ArrayAdapter와를 사용하여 목록보기를 구현해야합니다. 추가 버튼에서 어댑터에 새 행을 추가하고 notifyDataSetChanged()를 호출하여 어레이 어댑터를 업데이트해야합니다. 또한 목록 뷰를 업데이트해야합니다. 이것이 당신의 목표입니다.

0

새 테이블 행을 만들려면 동적 프로 시저를 사용해야합니다.

저는 frameLayout을 사용합니다. 이 (당신은 당신의 프로젝트에 적응해야 - 위치에 대해) 새로운 이미지를 만드는 예입니다

TextView TEXTVIEW = new TextView(this); 
     int ID_FOR_DINAMIC_TEXTVIEW = 10000 + i ; 
     TEXTVIEW.setId(ID_FOR_DINAMIC_TEXTVIEW); 
     TEXTVIEW.setTextColor(Color.BLACK); 
     TEXTVIEW.setTextSize(TypedValue.COMPLEX_UNIT_SP, 22); 
     TEXTVIEW.setText(content_); 
     TEXTVIEW.setX(EKRAN.WIDTH()/100 * 9); 
     TEXTVIEW.setY(EKRAN.HEIGHT()/10 + EKRAN.HEIGHT()/100 * 4 * i); 
     xml_layout.addView(TEXTVIEW); 

     // Toast.makeText(context_ , "GOOD" , Toast.LENGTH_SHORT).show(); 

보너스 : 위치에 대한 등급 :

// def : SCREEN EKRAN = new SCREEN(context_); 

//############################################## 
// SCREEN - EKRAN CLASS 
//############################################## 
public class SCREEN { 

    DisplayMetrics dm = new DisplayMetrics(); 
    Point size_ = new Point(); 
    int width; 
    int height; 

    SCREEN (Context CONTEXT_) { 

     dm = CONTEXT_.getResources().getDisplayMetrics(); 
     int densityDpi = dm.densityDpi; 
     height = dm.heightPixels; 
     width = dm.widthPixels; 

    } 

    public int WIDTH() { 

     return width; 

    } 
    public int HEIGHT(){ 

     return height; 

    } 
    public int W(int PER_){ 

     return width/100*PER_; 

    } 
    public int H(int PER_ ){ 


     return height/100*PER_; 

    } 

    ////////////////// 
    //extras 
    ///////////////// 
    public int GET_PIX_FROM_DP (float DP_VALUE) 
    { 
     return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, DP_VALUE , dm); 
    } 

    public int GET_PIX_FROM_DP2 (float DP_VALUE) 
    { 
     float res = DP_VALUE * (dm.ydpi/160f); 
     return (int) res; 
    } 



}