Ứng dụng của tôi có một LinearLayout
bao gồm 3 Linearlayouts
và mỗi bố cục tuyến tính có một Relativelayout
và bố cục tuyến tính (ban đầu khả năng hiển thị của các bố cục tuyến tính này đã biến mất). Nếu bạn nhấp vào bố cục tương đối thì bố cục tuyến tính sẽ được hiển thị. Nhưng làm cách nào để làm mới toàn bộ bố cục tuyến tính sau khi nhấp vào bố cục tương đối.Cách làm mới bố cục tuyến tính theo lập trình
Code:
private OnClickListener exit2Listener = new OnClickListener()
{
public void onClick(View v)
{
if(!exit2status)
{
if(RB_Constant.upcomingexits_obj.response.size() > 1)
{
if(RB_Constant.upcomingexits_obj.response.get(1).listRestaurants.size() > 0)
{
// Create the views on the fly instead of using the ListView
UpcomingResultsListViewAdapter2 rbupcadapter2 = new UpcomingResultsListViewAdapter2(RB_UpcomingExits.this);
int numItems2 = 0;
if(RB_Constant.upcomingexits_obj.response.get(1).listRestaurants.size() > 0)
{
numItems2 = RB_Constant.upcomingexits_obj.response.get(1).listRestaurants.size();
}
//linearLayout2
for(int position=0; position < numItems2; position++)
{
View convertview = null;
convertview = rbupcadapter2.getView(position, convertview, null);
listLayout2.addView(convertview);
}
}
}
else
{
//toastMsg("No results!");
}
listLayout2.setVisibility(View.VISIBLE);
exit2status=true;
if(!exit1status || exit3status || exit4status || exit5status)
{
//System.out.println("exit2 GONE");
listLayout1.setVisibility(View.GONE);
listLayout3.setVisibility(View.GONE);
exit1status = false;
exit3status = false;
}
LLExitDetails.invalidate();
}
else
{
System.out.println("exit2 GONE");
listLayout2.setVisibility(View.GONE);
exit2status = false;
LLExitDetails.invalidate();
}
}
};
tôi đã thêm mã của mình thấy điều đó. Trong mã "LLExitDetails" là bố cục tuyến tính chính. và tôi thêm các invalidate nhưng nó không hoạt động. – naresh
Điều gì sẽ xảy ra khi bạn nói "nó không hoạt động"? – DeeV
không làm mới. có nghĩa là nó không hiển thị bố trí tuyến tính đầu tiên khi tôi gọi là invalidate. – naresh