将数据从一个活动传递到其他活动并显示在Listview上

时间:2018-02-18 12:24:17

标签: java android android-studio pass-data

我有2个活动第一个是数据活动有一些Spinners我想从spinner获取数据并将其添加到历史记录活动并显示到ListView。我不想在button点击时打开第二个活动。 贝娄是我迄今为止所做的。

我试图找到类似的问题,但没有一个是有帮助的。

数据活动:

 public class Data extends AppCompatActivity {



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_data);


    final Spinner handSpiner = (Spinner) findViewById(R.id.spinner_Arm_used);

    final ArrayAdapter<String> handAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.hand));
    handAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    handSpiner.setAdapter(handAdapter);

    final Spinner weightSpiner = (Spinner) findViewById(R.id.spinner_weight);

    final ArrayAdapter<String> weightAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.weight));
    weightAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    weightSpiner.setAdapter(weightAdapter);



    final Spinner heightSpiner = (Spinner) findViewById(R.id.spinner_height);

    final ArrayAdapter<String> heightAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.height));
    heightAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    heightSpiner.setAdapter(heightAdapter);


    final Spinner bloodTypeSpiner = (Spinner) findViewById(R.id.spinner_blood_type);

    final ArrayAdapter<String> bloodTypeAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.bloodType));
    bloodTypeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bloodTypeSpiner.setAdapter(bloodTypeAdapter);


    final Spinner smallPressureSpiner = (Spinner) findViewById(R.id.spinner_small_pressure);

    final ArrayAdapter<String> smallPressureAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.smallPressure));
    smallPressureAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    smallPressureSpiner.setAdapter(smallPressureAdapter);


    final Spinner bigPressureSpiner = (Spinner) findViewById(R.id.spinner_big_pressure);

    final ArrayAdapter<String> bigPressureAdapter = new ArrayAdapter<String>(Data.this,
            android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.bigPressure));
    bigPressureAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bigPressureSpiner.setAdapter(bigPressureAdapter);
}

历史布局:

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:layout_editor_absoluteX="42dp"
    tools:layout_editor_absoluteY="0dp">

    <TextView
        android:id="@+id/textView14"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="21dp"
        android:layout_marginTop="91dp"
        android:text="Χέρι Αιμοδοσίας" />

    <TextView
        android:id="@+id/textView15"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/textView14"
        android:layout_below="@+id/textView14"
        android:layout_marginTop="26dp"
        android:text="Αρτηριακή Πίεση" />


    <TextView
        android:id="@+id/textView17"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/textView15"
        android:layout_below="@+id/textView15"
        android:layout_marginTop="120dp"
        android:text="Βάρος" />

    <TextView
        android:id="@+id/textView18"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/textView17"
        android:layout_below="@+id/textView17"
        android:layout_marginTop="16dp"
        android:text="Ύψος" />

    <TextView
        android:id="@+id/textView19"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/textView18"
        android:layout_below="@+id/textView18"
        android:layout_marginTop="34dp"
        android:text="Ομάδα Αίματος" />

    <Spinner
        android:id="@+id/spinner_Arm_used"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView15"
        android:layout_marginStart="11dp"
        android:layout_toEndOf="@+id/textView15" />

    <Spinner
        android:id="@+id/spinner_weight"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView17"
        android:layout_marginStart="14dp"
        android:layout_toEndOf="@+id/textView17" />

    <Spinner
        android:id="@+id/spinner_height"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/spinner_weight"
        android:layout_alignTop="@+id/textView18" />

    <Spinner
        android:id="@+id/spinner_blood_type"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView19"
        android:layout_toEndOf="@+id/textView14" />

    <Spinner
        android:id="@+id/spinner_small_pressure"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/spinner_big_pressure"
        android:layout_marginStart="16dp"
        android:layout_toEndOf="@+id/spinner_big_pressure" />

    <Spinner
        android:id="@+id/spinner_big_pressure"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView15"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/btnaddHistory"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="11dp"
        android:layout_toEndOf="@+id/spinner_small_pressure"
        android:text="Προσθήκη"

        />


</RelativeLayout>

历史布局:

   <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <ListView
        android:id="@+id/lvHistory"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true" />
</RelativeLayout

2 个答案:

答案 0 :(得分:0)

如果您不希望数据持久化,那么您可以将数据存储在模型(POJO)类中,然后在打开历史记录活动时从类中获取数据。 如果您需要持久化数据,可以将其存储在数据库中,也可以使用共享首选项。

答案 1 :(得分:0)

您可以将数据存储在数据库中,然后按照提到的方式检索它们,也可以通过Intent直接将数据从一个活动传递到另一个活动,从而启动活动。

Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra(variable_name, content);

然后从第二个活动

中检索它
 String whatEver = getIntent().getExtras().getString(variable_name);