簡體   English   中英

Android Listview-單擊后更改項目按鈕文本

[英]Android Listview - Change Item Button Text After Clicking

我正在嘗試將我的應用程序轉換為android版本,而android有點新了。 我有一個列表視圖,其中的項目包括按鈕。 這是一個用戶列表,您可以跟隨每個用戶,當單擊按鈕時,僅在包括按鈕的項目中,按鈕文本應變成“跟隨”。 檢索列表工作正常,但是使用下面的代碼,按鈕文本沒有更改。 我怎樣才能做到這一點? 非常感謝你。

private class MyListAdapter extends ArrayAdapter<String>  {
    public MyListAdapter() {
        super(getActivity().getApplicationContext(), R.layout.fragment_users_cell, myItemList);
    }

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

            if (cellView == null){
                cellView = getActivity().getLayoutInflater().inflate(R.layout.fragment_users_cell, parent, false);
            }

            profileBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_profileBtn);
            followBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_followBtn);

            profileBtn.setText(myItemList.get(position));


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

                    System.out.println(myItemList.get(position));

                    System.out.println(position);

                }
            });


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

                    System.out.println(myItemList.get(position));

                    profileBtn.setText("followed");

                }
            });



            return cellView;

        }

    }

進行更改后,您必須更新數據集並引用列表,以反映最新的更改。 根據您的情況,文本會更改。

followBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  profileBtn.setText("followed");
                  myItemList.add(position, "followed");//Change your dataset
                  notifyDataSetChanged();  //And refresh the adapter    
                }
            });

您需要更改myItemList的值,以便下次加載視圖時,配置文件按鈕上設置為文本的列表中的值出現在ix之后,即您需要在單擊跟隨按鈕時更新列表並通知ListView

followBtn.setOnClickListener(new View.OnClickListener(){

    @Override
    public void onClick(View v) {
        System.out.println(myItemList.get(position));
        myItemList.get(position).set("followed");
        profileBtn.setText("followed");
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM