0
각 행에 ListView
을 가지고 있습니다. 일부 객체 (대부분 TextViews)가 포함 된 LinearLayout
이 있습니다.SimpleCursorAdapter 값을 제거하십시오.
이 ListView 나는 커서에서 동적으로 채 웁니다. 이 커서에는 하나의 값이 true 또는 false입니다.
값 false 인 라인을 숨기거나 클릭 할 수 없게 만들고 싶습니다. 이 코드를 시도하지만이 답변이 암시하는 것 같다
어댑터
http://developer.android.com/reference/android/widget/BaseAdapter.html#isEnabled(int)에
public void contentProviderInitialized(final Cursor cursor) {
SimpleCursorAdapter commonTickets = new SimpleCursorAdapter(MyClass.this,
R.layout.row_ticketing, cursor, new String[] {"price", "productName", "stopName" },
new int[] { R.id.ticketing_price, R.id.ticketing_product, R.id.ticketing_stop_name }
) {
@Override
public void bindView(View view, Context context, Cursor cursor) {
String enabledStr = cursor.getString(cursor.getColumnIndex("enabled"));
String product = cursor.getString(cursor.getColumnIndex("productName"));
boolean enabled = Boolean.parseBoolean(enabledStr);
LinearLayout ticketingRow = (LinearLayout) view.findViewById(R.id.ticketing_row);
if (enabled) {
ticketingRow.setEnabled(true);
} else {
ticketingRow.setEnabled(false);
}
super.bindView(view, context, cursor);
};
MyClass.this.ticketing_list_view.setAdapter(commonTickets);
}
}
전체 예외와 StackTrace를 게시하십시오. –
나는 예외에 관해 말하지 않았다. 문제는 false 값을 가진 행을 클릭 할 수 있다는 것입니다. – tinti