2014-09-03 23 views
0

我正在開發簡單的評分表應用程序屏幕,其中有四個edittext和一個textview,現在我想要的是一旦在這個值中輸入的分數計算和diplayed在textviews下如果比分是100比新佈局包含所有這些小部件會自動添加我爲這個代碼小於是我想動態地將佈局添加到android

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ScrollView01" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true" 
    android:scrollbars="none" 
    androidLid="@+id/main"> 

<LinearLayout android:layout_width="match_parent" 
android:layout_height="match_parent" 

    > 

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="85dp" 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/textView1" 
     android:layout_alignBottom="@+id/textView1" 
     android:layout_marginLeft="96dp" 
     android:layout_toRightOf="@+id/textView1" 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <EditText 
     android:id="@+id/meld1" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView1" 
     android:layout_marginTop="45dp" 
     android:ems="10" 
     android:focusable="true" 
     android:inputType="number" 
     android:maxLength="3" /> 

    <EditText 
     android:id="@+id/meld2" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/EditText02" 
     android:layout_alignBottom="@+id/EditText02" 
     android:layout_alignLeft="@+id/textView2" 
     android:ems="10" 
     android:focusable="true" 
     android:inputType="number" 
     android:maxLength="3" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/textView2" 
     android:layout_alignBottom="@+id/textView2" 
     android:layout_alignLeft="@+id/EditText02" 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <EditText 
     android:id="@+id/EditText02" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/meld1" 
     android:layout_alignBottom="@+id/meld1" 
     android:layout_centerHorizontal="true" 
     android:ems="10" 
     android:focusable="true" 
     android:inputType="number" 
     android:maxLength="3" /> 

    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/textView3" 
     android:layout_marginLeft="108dp" 
     android:layout_toRightOf="@+id/EditText02" 
     android:text="Dealer" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 


    <EditText 
     android:id="@+id/EditText04" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:ems="10" 
     android:focusable="true" 
     android:inputType="number" 
     android:maxLength="3" /> 

    <EditText 
     android:id="@+id/EditText05" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/EditText04" 
     android:layout_alignBottom="@+id/EditText04" 
     android:layout_alignLeft="@+id/meld2" 
     android:ems="10" 
     android:focusable="true" 
     android:inputType="number" 
     android:maxLength="3" /> 

    <TextView 
     android:id="@+id/textView7" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/EditText04" 
     android:layout_marginTop="23dp" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <TextView 
     android:id="@+id/textView8" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/textView7" 
     android:layout_alignBottom="@+id/textView7" 
     android:layout_alignRight="@+id/EditText05" 
     android:layout_marginRight="19dp" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    </RelativeLayout> 

    </LinearLayout> 
    </ScrollView> 
    and the layout to be added is 

    <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/add" 
> 
<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="71dp" 
    android:ems="10" /> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/editText1" 
    android:layout_alignBottom="@+id/editText1" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="35dp" 
    android:ems="10" /> 

<EditText 
    android:id="@+id/meld1" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/editText1" 
    android:layout_marginTop="16dp" 
    android:ems="10" /> 

<EditText 
    android:id="@+id/EditText02" 
    android:layout_width="120dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/meld1" 
    android:layout_alignBottom="@+id/meld1" 
    android:layout_alignLeft="@+id/editText2" 
    android:ems="10" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/meld1" 
    android:layout_marginTop="20dp" 
    android:text="Medium Text" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/textView1" 
    android:layout_alignBottom="@+id/textView1" 
    android:layout_alignLeft="@+id/EditText02" 
    android:text="Medium Text" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

    </RelativeLayout> 
    </LinearLayout> 

所以,在這裏我想要做的是增加在滾動視圖佈局上的文字更改添加布局所有四個edittexts我的代碼添加布局是

 LinearLayout myLayout = (LinearLayout)findViewById(R.id.main); 
    View hiddenInfo = getLayoutInflater().inflate(R.layout.add, scrollview01, false); 
      myLayout.addView(hiddenInfo); 

但是我無法添加下滾動視圖,並添加此佈局後,這個佈局我想在每一個EditText上添加文字守望例如只

et.addTextWatcher{ 
//do something 
    tv.settext(something); 
    } 

現在基於變化的更新佈局的文本視圖它的價值,我想更新textviews的價值在這個添加的佈局 任何提示或解決方案將不勝感激。

回答

1

您正試圖將您的「ScrollView」轉換爲LinearLayout並添加子項。通過定義的ScrollViews只能有1個子元素。請嘗試引用您的LinearLayout子視圖並向其添加視圖。

喜歡的東西

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ScrollView01" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true" 
android:scrollbars="none" 
android:id="@+id/main"> 

<LinearLayout android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/main_root" 
> 

//etc... 

新視圖。然後添加到線性佈局

LinearLayout myLayout = (LinearLayout)findViewById(R.id.main_root); 
//context references your activity context. 
View hiddenInfo = LayoutInflater.from(context).inflate(R.layout.add, myLayout, true); 

請參閱從LayoutInflater文檔 「膨脹(INT資源,ViewGroup中根,布爾attachToRoot)」

+0

那麼在那之後,我該如何檢測最近添加的ant以及它以前的小部件 – user1798477 2014-09-04 03:34:48

+0

上的點擊,你應該可以將onClickListener添加到任何對象就像正常一樣,只是使用類似 EditText et1 =(EditText)hiddenInfo.findViewById(R.id.editText1); – Jlange 2014-09-05 19:49:20

+0

我得到你我可以聽取最近添加的佈局部件。現在,如果我想特別讓聽衆說2n或第三個添加布局的小部件,一般說一些特定的佈局,那麼我該如何實現那是我的問題。 – user1798477 2014-09-11 03:22:36