【问题标题】:Pass Data from one activity to other activity and display on Listview将数据从一个活动传递到另一个活动并显示在 Listview
【发布时间】:2018-07-28 19:55:31
【问题描述】:

我有 2 个活动第一个是数据活动有一些 Spinners 我想从 spinner 获取数据并将它们添加到历史活动并显示到 ListView。我不想在button click 上打开第二个活动。 贝娄是我到目前为止所做的。

我试图找到类似的问题,但没有任何帮助。

数据活动:

 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

【问题讨论】:

  • I don't want to open the second activity on button click 那你想怎么打开那个活动??
  • 将它们从微调器带到 DB 或 Sharedprefernces ...当您访问不想打开的活动时...再次获取它们
  • @abdulKawee 从 MainActivity 我有按钮来午餐不同的活动。
  • 在您写的问题中,您不想在单击按钮时打开活动
  • 对不起,我的意思是我不想从第一个活动 AddButton 点击​​打开第二个活动。我只想将数据添加到第二个活动。

标签: java android android-studio pass-data


【解决方案1】:

您可以将数据存储在数据库中,然后如上所述检索它们,也可以通过 Intent 直接将数据从一个活动传递到另一个活动,像这样启动活动。

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

然后从第二个活动中检索它

 String whatEver = getIntent().getExtras().getString(variable_name);

【讨论】:

    【解决方案2】:

    如果您不需要将数据持久化,则可以将数据存储在模型 (POJO) 类中,然后在打开 History 活动时从该类中获取数据。 如果您需要持久化数据,可以将其存储在数据库中或使用共享首选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多