良い一日を皆、ダイナミックリストから値
私は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>
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はここで助けていません。
おかげ
これらのTextViewにはデフォルトの「数字」が含まれていますが、変更することを期待しています(タイトル:ウォッカの割合:40金額:0.5)。 最終的に私は飲み物のリストを受け取り、それを処理する必要があります。 – skatkov