내의 ListView에서 선택된 항목의 결과를 보여주기 위해 필요 내 버튼에 내 ListView의 선택한 항목의 결과를 삽입나는 문제가 내 버튼
누군가가 어떻게 할 생각인가?
도움 주셔서 감사합니다.
내의 ListView에서 선택된 항목의 결과를 보여주기 위해 필요 내 버튼에 내 ListView의 선택한 항목의 결과를 삽입나는 문제가 내 버튼
누군가가 어떻게 할 생각인가?
도움 주셔서 감사합니다.
첫 번째 활동에서 의 onActivityResult (int requestCode, int resultCode, Intent data)
메서드를 재정의하고 startActivityForResult (Intent intent, int requestCode)
을 통해 두 번째 화면을 시작해야합니다. 목록보기에서 항목을 선택하면 setResult (int resultCode, Intent data)
을 통해 결과를 전달합니다 (데이터를 의도 - putExtra
메소드에 넣음). 먼저 활동 UPDATE 매니페스트 <application>
섹션
<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);
}
}
}
2 활동에 onActivityResult
에 전달 의도에서 결과를 얻을 수 있습니다 코드
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();
}
}
StartActivityForResult()를 사용하여 다른 활동을 호출하고 두 번째 활동의 결과를 firstActivity로 가져와야합니다.
확인 해당 페이지에서의 "화면에서 결과를 반환"에 대한 링크
http://developer.android.com/guide/appendix/faq/commontasks.html
검색 할 수 있습니다. 그게 도움이 될거야.
다른 활동이 옵션 목록 만있는 경우에는 첫 번째 활동 자체에서 회 전자를 사용하는 것이 좋습니다. : http://developer.android.com/reference/android/widget/Spinner.html
전체 예제를 어디서 찾을 수 있습니까? – dirko
예제 코드로 주석 업데이트 –
고맙습니다 대단히 감사합니다. – dirko