Java 如何切换动态创建的文本视图的可见性,该文本视图链接到动态创建的按钮?
您只需要为动态按钮设置一个clicklistener,然后将动态文本的可见性设置为txt.setVisibility(View.GONE);如果你想让它消失 txt.setVisibility(View.VISIBLE);如果你想让它可见。如果您试图切换它,只需创建一个跟踪状态的布尔值。你需要这样的东西:Java 如何切换动态创建的文本视图的可见性,该文本视图链接到动态创建的按钮?,java,android,textview,Java,Android,Textview,您只需要为动态按钮设置一个clicklistener,然后将动态文本的可见性设置为txt.setVisibility(View.GONE);如果你想让它消失 txt.setVisibility(View.VISIBLE);如果你想让它可见。如果您试图切换它,只需创建一个跟踪状态的布尔值。你需要这样的东西: txt.setId(i); tx
txt.setId(i);
txt.setText(title + '\n');
txt.setGravity(1);
img.setId(i);
txt1.setId(i);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txt1.setVisibility(View.VISIBLE);
txt1.setText(content);
try {
Picasso.get().load(jsonObject.getString("icon")).into(img);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
txt.setWidth(900);
txt1.setWidth(900);
linearLayout.addView(img);
linearLayout.addView(txt);
linearLayout.addView(txt1);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText("That didn't work!");
Log.d("error", error.toString());
}
});
queue.add(stringRequest);
}
使用setvisibility(View.GONE)要隐藏文本视图,假设我有三个按钮,只显示标题,我只想显示链接到该特定按钮的文本视图,如果我单击了其他创建的按钮,则文本视图一旦显示,该按钮将被删除。然后怎么办?这都是关于为每个按钮使用单击侦听器,并且从相应的侦听器操纵按钮/txt的可见性。如果您需要跟踪它的状态,请使用布尔值。我发现使用列表视图要比使用动态文本视图好,兄弟..谢谢你
txt.setId(i);
txt.setText(title + '\n');
txt.setGravity(1);
img.setId(i);
txt1.setId(i);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txt1.setVisibility(View.VISIBLE);
txt1.setText(content);
try {
Picasso.get().load(jsonObject.getString("icon")).into(img);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
txt.setWidth(900);
txt1.setWidth(900);
linearLayout.addView(img);
linearLayout.addView(txt);
linearLayout.addView(txt1);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText("That didn't work!");
Log.d("error", error.toString());
}
});
queue.add(stringRequest);
}
Boolean state = false;
if(state){
txt.setVisibility(View.GONE);
state = false;
else{
txt.setVisibility(View.VISIBLE);
state = true;
}