2012-02-07 1 views
0

良い一日を皆、ダイナミックリストから値

私はAndroidの開発を学んだし、私は自分のアプリケーションのためのいくつかの動的なリストを作成してみなさい。そして、私は立ち往生しています...すでに4時間は好きです。

私は2つのレイアウトを持っている:動的リストを作成 1. main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/action_buttons" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:gravity="center" 
    > 

<Button 
    android:id="@+id/button_count" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/button_calculate" /> 

<Button 
    android:id="@+id/button_add" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/button_count" 
    android:text="@string/button_add" /> 
</LinearLayout>  

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/action_buttons" 
    >  

    <LinearLayout 
     android:id="@+id/action_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 
    </LinearLayout> 
</ScrollView>  
</RelativeLayout> 
  1. action_list_item.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/action_list_item_root" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
    
    <EditText 
        android:id="@+id/action_list_item_edittext_drinkName" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBottom="@+id/action_list_item_button_remove" 
        android:layout_alignParentTop="true" 
        android:layout_toRightOf="@+id/action_list_item_title" 
        android:padding="10dp" /> 
    
    <EditText 
        android:id="@+id/action_list_item_edittext_drinkPercent" 
        android:text="40" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_toLeftOf="@+id/action_list_item_edittext_drinkAmount" 
        android:inputType="number" 
        android:padding="10dp"/> 
    
    <EditText 
        android:id="@+id/action_list_item_edittext_drinkAmount" 
        android:text="0.0"   
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_toLeftOf="@+id/action_list_item_button_remove" 
        android:layout_alignBottom="@+id/action_list_item_button_remove" 
        android:inputType="numberDecimal"  
        android:width="50dp" 
        android:padding="10dp" /> 
    <Button 
        android:id="@+id/action_list_item_button_remove" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:text="@string/action_list_item_button_remove" /> 
    

とコード:

public class MainActivity extends Activity { 
    LinearLayout actionList = null; 
    private Button btnAdd; 
    private Button btnCalculate; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    initActivityElements(); 

    } 

    private void initActivityElements() { 
    initAddButton(); 
    initCalculateButton(); 
    } 

    private void initCalculateButton() { 
    btnCalculate = (Button) findViewById(R.id.button_count); 
    btnCalculate.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
     TextView amount = (TextView) findViewById(R.id.action_list_item_edittext_drinkAmount); 

//this retrives TextView value from first list 
     Toast.makeText(getApplicationContext(), amount.getText().toString(), 
      Toast.LENGTH_SHORT) 
      .show(); 

     } 
    }); 
    } 

    private void initAddButton() { 
    actionList = (LinearLayout) findViewById(R.id.action_list); 
    btnAdd = (Button) findViewById(R.id.button_add); 

    btnAdd.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
     RelativeLayout listItem = (RelativeLayout) View.inflate(
      MainActivity.this, R.layout.action_list_item, null); 

     TextView name = (TextView) listItem 
      .findViewById(R.id.action_list_item_edittext_drinkName); 
     name.setText("Here is the Title " + actionList.getChildCount()); 

     listItem.findViewById(R.id.action_list_item_button_remove) 
      .setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       actionList.removeView((View) v.getParent()); 
       } 
      }); 

     actionList.addView(listItem); 
     } 
    }); 
    } 

私の問題は、私はTextViewのボックス(金額、パーセント)からのすべてのデータを取得する必要がありますが、私は、リストの最初の項目からそのデータをretriveすることができます(btnCalculateためonClickListenerを見て)とすることができますということですそれをやる方法を見つけ出すのではなく、ビューのために 'ユニークなID'を追加しようとしました(しかし、そのブレーキレイアウトはひどく)。

多分誰でもチップを与えることができますか?私はそれを行うにはいくつかの簡単な方法があると思うが、私はそれを見つけることに失敗しているとGoogleはここで助けていません。

おかげ

答えて

0

私は本当に正確にあなたがやろうとしているかわからないんだけど、あなたが情報を取得し、ビューにそれを埋めるためにしようとしているように聞こえます。あなたの情報を取り込み、それをリストビューに構築する静的テキストボックスを持つことをお勧めします。それを行う方法の良い例は、http://developer.android.com/resources/tutorials/notepad/notepad-ex1.htmlにあります。

+0

これらのTextViewにはデフォルトの「数字」が含まれていますが、変更することを期待しています(タイトル:ウォッカの割合:40金額:0.5)。 最終的に私は飲み物のリストを受け取り、それを処理する必要があります。 – skatkov