【发布时间】:2014-07-09 01:27:12
【问题描述】:
我会尽力解释我想要完成的事情; 我觉得如果我能更好地解释它,我就不需要问了。
我想从微调器中选择项目,单击 4 个按钮之一以将微调器值(数组值“药物”)发送到下一个活动。
“Medications”中的值将有自己的字符串数组。
例如。
在“药物”中有一个值 ENALAPRIL。
有一个字符串数组“ENALAPRIL”有4个值,
HowString[0]
WhatString1
当字符串[2]
NotString[3]
在 Activity2 中只有两个 TextView 框。
顶部的 TextView 用于显示从 spinner 中选择的药物名称
我可以毫无问题地做到这一点
底部的 TextView 用于显示方式、内容、时间或非字符串 - 取决于按下哪个按钮以进入 Activity2。
我需要底部的 TextView 来动态使用 Intent 传递的 StringArray 值:
选择的“药物”值(TextView1)需要动态等于(TextView2)中使用的数组值的名称。
我正在为上下文以及如何表达我的需求而苦苦挣扎,所以抱歉。
我希望我把非常非常简单的事情过度复杂化了。
Activity1 布局:
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rxBox"
android:prompt="@string/rxprompt"
android:entries="@array/Medications"
android:focusable="true"
android:clickable="true"
android:visibility="visible"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textAlignment="center"
android:spinnerMode="dialog"
android:layout_centerHorizontal="true"
android:background="@drawable/abc_search_dropdown_dark"
android:popupBackground="@drawable/abc_ab_solid_light_holo"
android:layout_below="@+id/helprx" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/rxstudyinfo"
android:id="@+id/helprx"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textStyle="bold"
android:paddingStart="10dp"
android:visibility="visible"
android:textSize="20dp"
android:lines="5" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:paddingTop="50dp"
android:divider="@drawable/abc_ab_share_pack_holo_dark"
android:visibility="visible"
android:layout_below="@+id/rxBox">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/dosing"
android:id="@+id/doseButton"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:enabled="true"
android:onClick="howRx" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/what"
android:id="@+id/whatButton"
android:clickable="true"
android:enabled="true"
android:onClick="whatRX" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/whenButton"
android:layout_gravity="center_horizontal"
android:text="@string/when"
android:clickable="true"
android:enabled="true"
android:onClick="whenRX" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/not"
android:id="@+id/notButton"
android:clickable="true"
android:enabled="true"
android:onClick="notRX" />
</LinearLayout>
Activity2 布局:
<TextView
android:text="MEDICATION NAME"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textSize="35dp"
android:id="@+id/rxName"
android:paddingBottom="35dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="MEDICATION INFO"
android:id="@+id/infoRx" />
</LinearLayout>
代码:活动 1
public class studyRX extends ActionBarActivity {
public void howRx(View view){
Spinner medChoice = (Spinner) findViewById(R.id.rxBox);
Intent howRxIntent = new Intent(getApplicationContext(),rxViewer.class);
Bundle b = new Bundle();
b.putString("medname",medChoice.getSelectedItem().toString());
howRxIntent.putExtras(b);
startActivity(howRxIntent);
//array index 0
}
代码:Activity2
public class rxViewer extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rx_viewer);
Bundle b = this.getIntent().getExtras();
Resources r = getResources();
String medname = b.getString("medname");
((TextView)findViewById(R.id.rxName)).setText(medname);
// myString = getResources().getIdentifier(medname,"string",this.getPackageName());
//((TextView)findViewById(R.id.infoRx)).setText(bang);
//TextView t = (TextView)findViewById(R.id.infoRx);
//int maybe = getResources().getIdentifier(bang,"arrays",this.getPackageName());
Intent intentObject = getIntent();
}
XML:药物
<string-array name="Medications">
<item>Enalapril</item>
<item>Captopril</item>
<item>Lisinopril</item>
<item>Ramipril</item>
<item>Adenosine</item>
<item>Amiodarone</item>
</string-array>
XML:依那普利
<string-array name="Enalapril">
<item> String from HOW Button </item>
<item> String from WHAT Button </item>
<item> String from WHEN Button </item>
<item> String from NOT Button </item>
</string-array>
XML:卡托普利
<string-array name="Captopril">
<item> String from HOW Button </item>
<item> String from WHAT Button </item>
<item> String from WHEN Button </item>
<item> String from NOT Button </item>
</string-array>
所有药物的格式都相同,因此数组索引将与每个按钮相关
谢谢!
【问题讨论】:
-
感谢您的建议,Soana!我会在一两天内在我的程序中尝试这个并提供反馈。
-
不幸的是我没能解决我的问题。请帮忙
标签: java android arrays xml string