0

活動開始から

Intent intent = new Intent(StartActivity.this, MarkersActivity.class);
startActivityForResult(intent, GoMarkerReturn);  

CustomListAdapter がある他のアクティビティを呼び出すと、BaseAdapter が拡張されます。リストビューには、クリックすると現在のアクティビティを閉じて結果を開始アクティビティに戻すための画像があります

public class CustomListAdapter extends BaseAdapter {
...
    public View getView(int position, View convertView, ViewGroup parent) {
        holder.imggo.setOnClickListener(new View.OnClickListener() {
            ...
            @Override
            public void onClick(View v) {
            int clickedPosition = (Integer)v.getTag();
            NewsItem newsItem = (NewsItem)listData.get(clickedPosition);                
            Long goID = newsItem.getID();

            Intent myIntent = new Intent(v.getContext(), StartActivity.class);
            myIntent.putExtra("goID", goID);
            setResult(0, myIntent);

setResult(0, myIntent) 動作しません!

4

2 に答える 2

1

StartActivityForResultsetResultアクティビティ間で値を渡すために使用されます。ここでは、2 番目のアクティビティが破棄され、最初のアクティビティがフォアグラウンドになるように、2 番目のアクティビティで finish() を呼び出す必要があります。

これは、それがどのように機能するかを学ぶための良いチュートリアルです。データ転送

于 2013-09-18T00:09:38.767 に答える
0
public class CustomListAdapter extends BaseAdapter {
...
    public View getView(int position, View convertView, ViewGroup parent) {
    ...
        holder.imggo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(v.getContext(), StartActivity.class);
                myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                myIntent.putExtra("goID", goID);
                v.getContext().startActivity(myIntent);

public class StartActivity extends Activity{
...
    @Override
    protected void onResume() {
        Intent intent = getIntent();
        Long goID = intent.getLongExtra("goID", 0);
        if (goID > 0){
               ...
于 2013-09-18T22:47:25.363 に答える