我有一个带有两个按钮的listview
。
一旦我从服务器获得响应,我想用textview替换这两个按钮。
我怎样才能做到这一点?
服务器响应后:
public void onResponse(String response) {
try {
JSONObject obj = new JSONObject(response);
if (obj.getString("response").equals("1")) {
JSONObject res = new JSONObject(obj.getString("data"));
Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
我还没有创建任何适配器。
答案 0 :(得分:0)
您需要扩展ArrayAdapter以自定义列表视图项。
在xml上,保留按钮和文本视图以及textview,保持
android:visibility="gone"
初始化适配器类中的textview和button。获得响应时,启用textview可见性并禁用按钮可见性
textView.setVisilibity(View.VISIBLE);
button.setVisilibity(View.GONE);
答案 1 :(得分:0)
好的我理解你的问题,最好的方法是使用recyclerview而不是listview,首先看看这个例子或者recyclerview recyclerview example这比普通的listview更简单,最好, 在 onBindViewHolder函数中排名第二,您可以像这样创建自己的列表器
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.your_sender_button.setonclickLinstener(new View.OnClickListener { @Override
public void onClick(View view) {
yourActivity.sendTimer(holder.btn1, your_sender_button, holder.your_textview_name);
}
});
}
sendTimer是用于发送计时器的函数,参数是您的视图,因此当您获得响应时,您可以在函数中传递这些视图的可见性