2010-12-05 6 views
1

2 개의 textviews가있는 listview가 있습니다.이 textview 중 하나에는 기본적으로 텍스트가 포함되어 있지만 사용자가 변경할 수 있습니다. 문제는 내가 textview가 비어있을 때 그렇게 할 필요가있다. 그것의 가시성은 사라지도록 설정된다. 나는 이것이 어떻게 작동하는지에 대한 2 가지 아이디어를 가지고있다. 하나는 xml로 정의하거나 데이터베이스에 정의하는 것이다.표시 할 텍스트가 없을 때 textview 가시성을 설정합니다.

public long createDate(String date) { 
    ContentValues initialValues1 = new ContentValues(); 
    initialValues1.put(KEY_DATE, date); 
    initialValues1.put(KEY_TIMESTAMP, "00:00"); 

    if(text==""){ 
     initialValues1.put(KEY_DICTTAG,View.GONE); //this does NOT work 
    }else{ 
     initialValues1.put(KEY_DICTTAG,text); 
    } 

    initialValues1.put(KEY_DICTALARMTIME, "0"); 
    initialValues1.put(KEY_DICTLISTIMAGE, R.drawable.list_icon); 
    return mdiktationsDb.insert(DATABASE_TABLE, null, initialValues1); 
} 

난에 텍스트가없는 경우 텍스트 뷰 늘 사용자가 볼 수 알지만, 나는 말하자면이 시스템에서 볼 수없는 필요가있다. 이것은 내가 dicttag textview에 텍스트가 없을 때 상대 레이아웃에 centerd되기 위해 timestamp textview를 필요로하기 때문입니다. 내가 어떤 방

+0

if (text == "")의보십시오. 예를 들어'initialValues1'이란 무엇입니까? 좀 더 문맥하시기 바랍니다 :) – Nailuj

+0

내 게시물을 업데이트했습니다;) – Emil

답변

3

실제 문제가 무엇인지 조금 불분명하지만, 여기에 간다이 없기 때문에 나는 당신이 당신의 if 문이 작동하는지 확인하고, ...

첫째을 XML 레이아웃을 게시 할 수 없습니다 정확히? 자바 문자열을 ==과 비교하고 있습니다. 나는 text이 어디인지 모르지만 대신 if (text.equalsIgnoreCase(""))을 사용합니다.

두 번째로 TextView의 TextView.setVisibility(View.GONE)은 주 UI 스레드에서 처리한다고 가정하여 의도 한대로 작동해야합니다. 항상 ListView 어댑터를 재정의하고 사용자 지정 어댑터를 만들고 ListView의 각 항목에 대한 가시성 작업을 수행 할 수 있습니다. 그 일을하기위한 많은 게시물과 튜토리얼이 있습니다.

+0

내 목록의 특정 항목에 대해 TextView.setVisibility (View.GONE)를 사용하여 어떻게 가야합니까? custum 접합기를 만들지 않고? – Emil

+0

나는 그런 식으로 일을하지 않고있다. 나는 우아한 방식으로 나를 완전하게 제어 할 수 있기 때문에 나는 항상 나의 맞춤형 어댑터를 만든다. – glr

+0

@emil 사용자 정의 어댑터 작성은 안드로이드 개발자의 건강에 좋습니다. 에 두려워하지 않는다! – Cristian

0

txt.setVisibility (View.GONE) 숨기기 txt.setVisibility (View.VISIBLE); 쇼

에 대한
1

나는 우리가 코드의 좀 더 볼 필요가 있다고 생각 if (text.equals ("")) 대신

관련 문제