gpt4 book ai didi

android - 如何将数据从 Activity 发送到其父 fragment ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:59 24 4
gpt4 key购买 nike

<分区>

我有一个主要 Activity ,其中有一个带有 ImageView 的 fragment 。单击此 ImageView 时,将启动一个包含 ListView 的新 Activity 。我想返回用户点击这个 ListView 的位置(索引),返回到 fragment 。

fragment 代码

package com.example.kedee.testgradle;


import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


/**
* A simple {@link Fragment} subclass.
*/
public class ASKFragment extends Fragment implements View.OnClickListener{
private Context context;
private View rootView;
private int pos;

public ASKFragment() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
rootView= inflater.inflate(R.layout.fragment_ask, container, false);
context=inflater.getContext();
setListeners();
return rootView;
}

void setListeners(){
ImageView catIcon=(ImageView)rootView.findViewById(R.id.cat_icon);
catIcon.setOnClickListener(this);



}

@Override
public void onClick(View v) {
int vID=v.getId();
if(vID==R.id.cat_icon){
Intent intent=new Intent(getActivity(),ASK.class);
getActivity().startActivity(intent);
}

}
}

从此 fragment 中调用的 Activity 代码。 (提问 Activity )

package com.example.kedee.testgradle;

import android.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ASK extends AppCompatActivity {
private int index;
private String[] catNames= {"Acad","Emer","Tech","Exam","Station","Finance","Medical","Place","Sports" ,
"Others" };

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ask);
ListView listView=(ListView)findViewById(R.id.ask_cat_listView);
listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,catNames));
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView<?> listView, View v, int pos, long id){
index=pos;
//code to return back this index to the parent fragment?
}
});
}


}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com