Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将片段列表视图的单击项添加到另一个片段的列表视图_Java_Android_Listview - Fatal编程技术网

Java 将片段列表视图的单击项添加到另一个片段的列表视图

Java 将片段列表视图的单击项添加到另一个片段的列表视图,java,android,listview,Java,Android,Listview,我正在安卓应用程序上工作。我在选项卡布局中有两个片段。这两个片段都有带有自定义适配器的列表视图。片段一加载一个列表,我想将片段1的listview的选定项添加到片段2的listview。一段代码,我的适配器如下所示 public class TestFragment2 extends Fragment{ TextView textView; public ListView listView; String text; static YukilanAdapter y

我正在安卓应用程序上工作。我在选项卡布局中有两个片段。这两个片段都有带有自定义适配器的列表视图。片段一加载一个列表,我想将片段1的listview的选定项添加到片段2的listview。一段代码,我的适配器如下所示

public class TestFragment2 extends Fragment{
    TextView textView;
    public ListView listView;
    String text;
    static YukilanAdapter yukilanAdapter;
    private static List<YukilanModel> list = new ArrayList<YukilanModel>();
    static OkHttpClient client;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        yukilanAdapter=new YukilanAdapter(list,getContext());

    }

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



        GetTask getTask=new GetTask();
        getTask.execute();


        listView=(ListView)rootView.findViewById(R.id.yukilanliste_view);
        listView.setAdapter(yukilanAdapter);



            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                }
            });

        return rootView;
    }

    static class GetTask extends AsyncTask<String, Void, String> {
        List<YukilanModel> gelenveri;
        private Exception exception;

        protected String doInBackground(String... urls) {

            try {

                ClientOlustur();


                String getResponse = get("url");
                return getResponse;
            } catch (Exception e) {
                this.exception = e;
                return null;
            }
        }

        protected void onPostExecute(String getResponse) {

            try {

                    Log.d("TEST FRAGMENT2","EXECUTED");
                JSONObject jsonObject = new JSONObject(getResponse);
                JSONArray yukilanarray = jsonObject.getJSONArray("result");
                gelenveri = new ArrayList<>();

                for (int i = 0; i < yukilanarray.length(); i++) {
                    YukilanModel yeniilan = new YukilanModel();
                    JSONObject yukilanobject = yukilanarray.getJSONObject(i);
                    yeniilan.setSehir(yukilanobject.getString("a_sehir"));
                    yeniilan.setHedefsehir(yukilanobject.getString("hedef_sehir"));
                    yeniilan.setYukcins(yukilanobject.getString("yukcins"));
                    yeniilan.setAgirlik(yukilanobject.getString("agirlik"));
                    yeniilan.setArac(yukilanobject.getString("aractipi"));




                                /*    if (yukilanobject.getString("yukcins").equals("sebze"))
                                    {
                                        yeniilan.setResim(getContext().getResources().getDrawable(R.drawable.sebze));
                                    }*/

                    gelenveri.add(yeniilan);
                }

            } catch (Exception e) {
                Log.d("error", e.toString());
                return;
            }

            list.clear();
            list.addAll(gelenveri);

            yukilanAdapter.notifyDataSetChanged();
            //  listView.setAdapter(tazele);

        }

        public String get(String url) throws IOException {
            Request request = new Request.Builder()
                    .url(url)
                    .build();

            Response response = client.newCall(request).execute();
            return response.body().string();
        }

        public void ClientOlustur() {
            client = new OkHttpClient.Builder()
                    .authenticator(new Nakliyeauthenticator())
                    .build();
        }

        class Nakliyeauthenticator implements Authenticator {
            //gets called if server responds with 401 http response to retry authentication
            @Override
            public Request authenticate(Route route, Response response) throws IOException {
                String credential = Credentials.basic("user", "password");

                //prevent infinite loop , if same credentials already tired, no need to try again
                if (credential.equals(response.request().header("Authorization"))) {
                    return null;
                }

                return response.request().newBuilder()
                        .header("Authorization", credential)
                        .build();
            }
        }
    }


    @Override
    public void onResume() {
        super.onResume();
    }

}
公共类TestFragment2扩展了片段{
文本视图文本视图;
公共列表视图列表视图;
字符串文本;
静态YukilanAdapter YukilanAdapter;
私有静态列表=新的ArrayList();
静态Okhttp客户端;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
yukilanAdapter=新的yukilanAdapter(list,getContext());
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图根视图=充气机。充气(R.layout.fragment_test2,容器,false);
GetTask GetTask=新GetTask();
getTask.execute();
listView=(listView)rootView.findViewById(R.id.yukilanliste_视图);
setAdapter(yukilanAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
}
});
返回rootView;
}
静态类GetTask扩展了异步任务{
罗列格伦韦里;
私人例外;
受保护的字符串doInBackground(字符串…URL){
试一试{
阴蒂光泽();
字符串getResponse=get(“url”);
返回getResponse;
}捕获(例外e){
这个异常=e;
返回null;
}
}
受保护的void onPostExecute(字符串getResponse){
试一试{
日志d(“测试片段2”,“已执行”);
JSONObject JSONObject=新的JSONObject(getResponse);
JSONArray yukilanarray=jsonObject.getJSONArray(“结果”);
gelenveri=newarraylist();
对于(int i=0;i
我的适配器看起来像这样
公共类YukilanAdapter扩展了ArrayAdapter{
私有静态最终字符串键_ADRES=“Şehir:”;
私有静态最终字符串密钥_TAKIPKODU=“TAKIPKODU:”;
私有静态最终字符串键_AGIRLIK=“Ağrlık:”;
私有静态最终字符串键_YUKCINS=“YUKCINS:”;
Okhttp客户端;
弦乐;
私有列表veriliste;
公共YukilanAdapter(列表veriliste,上下文McContext){
super(mContext,R.layout.ilanitem,veriliste);
this.verilist=verilist;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null){
LayoutInflater充气器=(LayoutInflater)getContext().getSystemService(Context.LAYOUT\u充气器\u SERVICE);
v=充气机充气(R.layout.ilanitem,空);
}
YukilanModel yukilan=verilist.get(位置);
if(yukilan!=null){
TextView a_adresview=(TextView)v.findViewById(R.id.sehir1);
TextView hedef_adres_view=(TextView)v.findViewById(R.id.sehi
public class YukilanAdapter extends ArrayAdapter<YukilanModel> {
    private static final String KEY_ADRES="Şehir: ";
    private static final String KEY_TAKIPKODU="Takipkodu: ";
    private static final String KEY_AGIRLIK="Ağırlık: ";
    private static final String KEY_YUKCINS="Yukcins: ";
            OkHttpClient client;
            String gelennumara;




    private List<YukilanModel> veriliste;

    public YukilanAdapter(List<YukilanModel> veriliste, Context mContext) {
        super(mContext, R.layout.ilanitem,veriliste);
        this.veriliste = veriliste;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {

        View v = convertView;
        if (v == null) {
            LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = inflater.inflate(R.layout.ilanitem,null);
        }
        YukilanModel yukilan = veriliste.get(position);
        if (yukilan != null) {

           TextView a_adresview = (TextView) v.findViewById(R.id.sehir1);
            TextView hedef_adres_view = (TextView) v.findViewById(R.id.sehir2);
           TextView agirlikview = (TextView) v.findViewById(R.id.yuk);
            TextView arac_view=(TextView) v.findViewById(R.id.arac);
            View cizgi1=(View)v.findViewById(R.id.cizgi1);
            View cizgi2=(View)v.findViewById(R.id.cizgi2);


            a_adresview.setText(yukilan.getSehir());
            hedef_adres_view.setText(yukilan.getHedefsehir());
            agirlikview.setText(yukilan.getAgirlik());
            arac_view.setText(yukilan.getArac());

                if((arac_view.getText().toString()).equals("tır"))
                {
                    cizgi1.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.mavi));
                }else
                {
                    cizgi1.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.kirmizi));
                }

        }

        v.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String cins=getItem(position).getYukcins();
                String sehir=getItem(position).getSehir();
                String hedef=getItem(position).getHedefsehir();
                String agirlik=getItem(position).getAgirlik();
            Bundle bundle=new Bundle();
                            Intent newintent=new Intent(getContext(),Ilandetay.class);
                                        bundle.putString("YUKCINS",cins);
                                        bundle.putString("SEHIR",sehir);
                                        bundle.putString("HEDEF",hedef);
                                        bundle.putString("AGIRLIK",agirlik);

                                        newintent.putExtras(bundle);

                getContext().startActivity(newintent);



               // Log.d("ON CLICK TEST",agirlik);
            }
        });

        return v;
    }

}