[英]Need to show the result of the selected item in my ListView to my button
我有個問題:
我有一個按鈕,當我單擊該按鈕時會調用另一個屏幕,並且在此屏幕中我具有ListView,因此我想在按鈕中插入ListView所選項目的結果
有人有一個想法怎么做?
謝謝你的幫助!!!
您應該使用StartActivityForResult()來調用另一個活動,並將結果從第二個活動獲取到firstActivity。
檢查此鏈接
http://developer.android.com/guide/appendix/faq/commontasks.html
在該頁面中搜索“從屏幕返回結果”。 那應該對你有幫助。
您應該在第一個活動中覆蓋onActivityResult (int requestCode, int resultCode, Intent data)
方法onActivityResult (int requestCode, int resultCode, Intent data)
,並通過startActivityForResult (Intent intent, int requestCode)
啟動第二個屏幕。 當您在列表視圖中選擇項目時,通過setResult (int resultCode, Intent data)
(將數據放入intent- putExtra
方法)傳遞結果。 您可以從intent中獲取結果,該intent在第一個活動UPDATE清單<application>
部分中傳遞到onActivityResult
中
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".test1"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="test1.pack.test2">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"></category>
<action android:name="test1.act2.START"></action>
</intent-filter>
</activity>
</application>
屏幕布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:text="Button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/btn"
android:onClick="onBtnClick"></Button>
</LinearLayout>
第一個活動代碼
public class test1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onBtnClick(View view){
Intent i = new Intent("test1.act2.START");
i.putExtra("btnText", "Hello, from activity 1");
startActivityForResult(i, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data.hasExtra("response")){
Button b = (Button)findViewById(R.id.btn);
CharSequence seq = data.getCharSequenceExtra("response");
b.setText(seq);
}
}
}
第二活動代碼
public class test2 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.btn);
b.setText(getIntent().getStringExtra("btnText"));
}
public void onBtnClick(View view){
Intent i = new Intent();
i.putExtra("response", "Response from second");
setResult(Activity.RESULT_OK, i);
finish();
}
}
如果其他活動僅用於列出選項,我建議您在第一個活動本身中使用微調器。 : http : //developer.android.com/reference/android/widget/Spinner.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.