제목에서 알 수 있듯이 ListView
항목의 일부로 사용하는 LinearLayout
이 있습니다. 항목을 클릭하면 LinearLayout
의 표시를 View.GONE
에서 View.VISIBLE
(또는 그 반대)으로 변경해야합니다.재사용 할 때 LinearLayout은 사라지지 않게하십시오 ListView 용으로보기 List
제 문제는 첫 번째 항목을 클릭하면 (이제 레이아웃이 표시됨) 목록을 스크롤하는 것보다 첫 번째 항목을 재사용하는 항목의 레이아웃 가시성이 View.VISIBLE
으로 설정되어있는 것처럼 보입니다. 첫 번째 항목은 수행되었지만 View.GONE
이되어야합니다. 첫 번째 항목을 재사용하지 않는 나머지 항목은 원래대로 작동합니다.
나는 분명 그 일이 왜 이해하고 난에있는 모든 단일 항목에 대한 LinearLayout
의 가시성을 저장해야 할 것 같아요 내 ListView
(뿐만 아니라 현재 표시) 다음 내 getView()
방법을 사용합니다. 너희들 내가 어떻게하는지 알 겠어?
내 활동의 일부 코드 :
public class MainActivity extends AppCompatActivity {
ListView alarmClocksListView;
ArrayList<AlarmClock> alarmClocksList;
protected void onCreate(Bundle savedInstanceState) {
alarmClocksList = new ArrayList<>();
alarmsArrayAdapter = new AlarmsArrayAdapter(this, alarmClocksList);
alarmClocksListView.setAdapter(alarmsArrayAdapter);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//some code
alarmClocksList.add(new AlarmClock());
alarmsArrayAdapter.notifyDataSetChanged();
}
}
당신이 당신의 어댑터 코드와 활동 코드뿐만 아니라를 게시 할 수 있을까요? –