简体   繁体   English

Android 如何从列表视图中获取 textview 字符串值

[英]Android how can i get the textview string value from list view

i want the textview value from the list but it always gives the last value not from the selected position我想要列表中的 textview 值,但它总是给出不是来自所选位置的最后一个值

public class myListAdapter extends ArrayAdapter<MyOrderData> implements OnClickListener  {

    public myListAdapter() {

        super(context, R.layout.myorder_list_row, myorderlist);

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View itemView = convertView;
        if (itemView == null) {
            LayoutInflater inflater = (LayoutInflater) getContext()
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            itemView = inflater.inflate(R.layout.myorder_list_row, null);
        }

        // /////
        MyOrderData currentdata = myorderlist.get(position);

        // TextView tvordernu, tvpackage, tvtotalgarment, tvorderdate,
        // tvpickupdate, tvpickuptime, tvstatus;

        txt_ticketno = (TextView) itemView.findViewById(R.id.tv_ticket_number);
        txt_raise_date = (TextView) itemView.findViewById(R.id.tv_raise_date);
        txt_service = (TextView) itemView.findViewById(R.id.tv_service);
        txt_time = (TextView) itemView.findViewById(R.id.tv_time);
        txt_status = (TextView) itemView.findViewById(R.id.tv_status);
        txt_view = (TextView) itemView.findViewById(R.id.tv_view);




        txt_ticketno.setText("" + currentdata.get_ticketnum());
        txt_raise_date.setText("" + currentdata.get_deliverdate());
        txt_service.setText("" + currentdata.get_service());
        txt_time.setText("" + currentdata.get_date());
        txt_status.setText("" + currentdata.get_status());




        txt_ticketno.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {


                Intent refresh = new Intent(context, Activity_ticket_details.class);



                refresh.putExtra("fname",""+txt_ticketno.getText().toString());



                context.startActivity(refresh);

            }
        });


        return itemView;



    }

i need the text value我需要文本值

You should not call click listeners outside Activities.您不应在活动之外调用点击侦听器。 What you want to do is to implement an OnItemClickListener in your activity;你想要做的是在你的活动中实现一个 OnItemClickListener ; you will get (among other parameters) the position of the clicked view, and can retrieve from the adapter the correspondent MyOrderData object from which you can get the String you want.您将获得(以及其他参数)单击视图的位置,并且可以从适配器检索对应的 MyOrderData 对象,您可以从中获取所需的字符串。

ListView yourList = (ListView) findViewById(...);
yourList.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
          Object listItem = list.getItemAtPosition(position);
    } 
});

i just made a mistake istead of textview i can use below code我只是犯了一个错误,而不是 textview 我可以使用下面的代码

refresh.putExtra("fname",""+currentdata.get_ticketnum().toString()); refresh.putExtra("fname",""+currentdata.get_ticketnum().toString());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM