0

passenger_details_layout実行時にTextViewmain_passenger_details_layoutに値を設定しています。私はpax_idそれを膨らませているすべての行に対して非表示になるように設定しています。そのため、passenger_details_layout をクリックすると、新しいアクティビティを呼び出して、新しいアクティビティに渡しpax_idます。 Pax_idforループが実行されるたびに1,2,3のようになります。したがって、1行をクリックすると、pax_id設定した最初の行を取得したいと思います。

どうすればこれを行うことができるか助けてください。あなたに感謝します。

膨らませるコード

ItinResponse data = obj.parseXMLData(fXmlFile);
        List<SectorRecords> sectorList = data.getSectorRecordsDetails();
        int items = 0;
        List<PassengerDetails> listdata = data.getPaxDetails();
        int i = 0;
        for (PassengerDetails elements : listdata) {
            inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            RelativeLayout layout = (RelativeLayout) inflater.inflate(
                    R.layout.passenger_details_layout, main, false);
            firstName = (TextView) layout.findViewById(R.id.first_pax_name);
            pax_id = (TextView) layout.findViewById(R.id.pax_id);
            firstName.setText(elements.getFirstName() + " "
                    + elements.getLastName());
            pax_id.setText(elements.getPaxId());
            main.addView(layout, i);
            i++;


 layout.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)"+pax_id.getText(), Toast.LENGTH_LONG).show();

                    }
                });

すべての行に最後の pax id が表示されます

4

5 に答える 5

1

あなたがしようとしていることは何もしなくていい

これを交換

pax_id.setText(elements.getPaxId());

layout.setId(Integer.parseInt(elements.getPaxId()));

そして、レイアウトをクリックします

layout.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)"+layout.getId(), Toast.LENGTH_LONG).show();
                    }
                });

設定したいユニークIDを取得するたびに

ではごきげんよう...!!!!

于 2013-09-20T12:00:35.720 に答える
0

使用する

TextView paxView = (TextView)v.findViewById(R.id.pax_id);
String pax_value = paxView.getText().toString();
于 2013-09-20T09:41:04.090 に答える
0

すべての行のボタンをクリックすると、このようになります

Intent intent=new Intent(this,YOUR_NEXT_ACTIVIY.class);
                intent.putExtra("paxid",  pax_id.getText());
                startActivity(intent);
于 2013-09-20T09:41:51.057 に答える
0
ItinResponse data = obj.parseXMLData(fXmlFile);
        List<SectorRecords> sectorList = data.getSectorRecordsDetails();
        int items = 0;
        List<PassengerDetails> listdata = data.getPaxDetails();
        int i = 0;
        for (PassengerDetails elements : listdata) {
            inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            RelativeLayout layout = (RelativeLayout) inflater.inflate(
                    R.layout.passenger_details_layout, main, false);
            firstName = (TextView) layout.findViewById(R.id.first_pax_name);
            pax_id = (TextView) layout.findViewById(R.id.pax_id);
            firstName.setText(elements.getFirstName() + " "
                    + elements.getLastName());
            pax_id.setText(elements.getPaxId());
            layout.setTag(elements.getPaxId());
            main.addView(layout, i);
            i++;
layout.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        String paxId = v.getTag().toString();
                        // do some staff
                    }
                });
        }
于 2013-09-20T09:47:19.567 に答える