如何以及在何处添加buttonToastfunction在我的application.我知道很多次有人问这个问题,但我仍然很困惑,所以任何人都可以提供帮助。[文本][按钮 1] [按钮 2][文本][按钮 1][按钮 2]这是我的代码:public class EngineerRecycler extends AppCompatActivity {String service_id,type, jsonStr;String compticketid;private String TAG = MainActivity.class.getSimpleName();private ListView lv;// URL to get contacts JSONprivate static String urlpending = "http://localhost/players.php";ArrayList<HashMap<String, String>> contactList;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_engineer_recycler ); Bundle bundle = getIntent().getExtras(); service_id = bundle.getString( "empid" ); type = bundle.getString( "type" ); contactList = new ArrayList<>(); lv = (ListView) findViewById(R.id.list); new GetContacts().execute();}private class GetContacts extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Void doInBackground(Void... arg0) { HttpHandler sh = new HttpHandler(); // Making a request to URL and getting a response jsonStr = sh.makeServiceCall( urlpending, service_id );我可以在其中显示项目,listview但是现在我想添加button到其中。每当我点击它时,toast消息也会弹出。
2 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
欢迎来到 Stackoverflow。
了解您的需求后。这是解决方案。
首先在你的模型类中取一个布尔值。
class Model {
boolean buttonVisible;
// settter getter
}
现在将此布尔值附加到您的适配器中的按钮可见性getView()。
holder.button.setVisibility(model.isButtonVisible() ? View.VISIBLE : View.GONE);
现在当你想改变一个可见的按钮时。只需更改此布尔值并通知数据更改列表即可。
yourList.get(2).setButtonVisible(true);
((BaseAdapter) listView.getAdapter()).notifyDataSetChanged();
这将使 2 索引按钮可见。如果你在任何地方感到困惑,请问我。
这个答案与你的问题有关。不同之处在于 - 在这个答案中,这个人将 CheckBox 附加到模型。您将为模式附加可见性。
建议
使用RecyclerView,因为考虑到特性,它具有很多性能。
喜欢notifyItemDataChanged()只通知改变的项目,是否在 ListView 中所有项目都会被通知。
添加回答
举报
0/150
提交
取消