0

내 활동에는 ListView가 두 개 이상 있습니다. 나는 아래의 코드로 두 번째 목록보기에 액세스하는 경우 그렇지 않은Android : 왜 동일한 활동에 하나 이상의 ListView가있는 경우 ListView를 볼 수 없습니까?

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, TAXCODE)); 
getListView().setTextFilterEnabled(true); 
taxCode_EditText.setText(TAXCODE[0]); 
//taxCodeFinalValue = taxCode_EditText.getText().toString(); 
lv1 = getListView(); 
lv1.setOnItemClickListener(new OnItemClickListener() 
{ 
    public void onItemClick(AdapterView<?> parent, View view,final int Position,long id) 
    { 
     taxCode_EditText.setText(TAXCODE[Position].toString()); 
     //prefsEditor.commit(); 
    } 
}); 

하지만 지금 :

<RelativeLayout 
    android:id="@+id/taxCodeLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" android:visibility="gone"> 
    <EditText 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:singleLine="true" 
     android:id="@+id/taxcode_EditText" 
     android:gravity="center" 
     android:textColor="#000000" 
     android:textSize="14sp" 
     android:cursorVisible="false" 
     android:focusable="false" 
     android:hint="tax code"/> 
    <ListView 
     android:id="@+id/android:list" 
     android:cacheColorHint="#00000000" 
     android:layout_centerInParent="true" 
     android:layout_centerHorizontal="true" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/taxcode_EditText"/> 
</RelativeLayout> 

<!-- ============================================================== --> 
<!-- PAYE Frequency Layout start--> 
<!-- ============================================================== --> 
<RelativeLayout 
    android:id="@+id/payeFrequencyLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:visibility="gone"> 
    <EditText 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:singleLine="true" 
     android:id="@+id/payFrequencyEditText" 
     android:gravity="center" 
     android:textColor="#000000" 
     android:textSize="14sp" 
     android:cursorVisible="false" 
     android:focusable="false" 
     android:hint="pay frequency" 
     android:layout_weight="1"/> 
    <ListView 
     android:id="@+id/android:list" 
     android:cacheColorHint="#00000000" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_below="@+id/payFrequencyEditText"/> 
</RelativeLayout> 

지금 내가이 코드를 처음 목록보기에 액세스 할 수 있어요 : 그것의 XML 레이아웃을보기 일. 두 번째 ListView를 볼 수 없습니다.

내 코드가 뭐니? 두 번째 LiStView를 볼 수없는 이유는 무엇입니까? 감사합니다. .

편집 : 내가 코드 아래 등 두 번째 목록보기를 설정하지만 여전히 어떤 목록보기를하지 않은

대답 후. 코드 :.

ListView payFrequencyListView = (ListView) findViewById(R.id.payFrequencyListView); 
     payFrequencyListView = getListView(); 
     payFrequencyListView.setTextFilterEnabled(true); 
     Adapter mySecondAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2, PAY_FREQUENCY); 
     payFrequencyEditText.setText(PAY_FREQUENCY[0]); 
     payFrequencyListView.setAdapter((ListAdapter) mySecondAdapter); 

     payFrequencyListView.setOnItemClickListener(new OnItemClickListener() 
     { 
      public void onItemClick(AdapterView<?> parent, View view,final int Position,long id) 
      { 
       payFrequencyEditText.setText(PAY_FREQUENCY[Position].toString()); 
       //prefsEditor.commit(); 
      } 
     }); 
+0

전체 XML 코드를 붙여주십시오. 이것에서 당신이 사용한 메인 레이아웃이 무엇인지 분명하지 않다 – Pratik

+0

왜 메인 레이아웃을 원합니까? 메인 레이아웃이 필요 없기 때문에. –

+0

LinearLayout/RelativeLayout과 같은 결과를 얻었습니다. 출력은 어떻게됩니까 – Pratik

답변

1

setListAdapter()getListView()와 함께 아이디로 "@id/android:list"를 갖는 목록을 작동합니다.당신이 둘의 ListView를 관리하려면

, 당신은 두 번째에 다른 ID를 설정해야합니다 및 는 ListView에 캐스팅 한 후이 setAdapter()를 사용하여 어댑터를 설정, 좋은 오래된 findViewById()를 사용 retreive.

레이아웃 :

<ListView 
     android:id="@+id/my_second_list_id" 
     android:cacheColorHint="#00000000" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_below="@+id/payFrequencyEditText"/> 

ListViewActivity :

Adapter mySecondAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2, TAXCODE)); 
ListView mySecondListview = (ListView)findViewById(R.id.my_second_list_id); 
mySecondListview.setAdapter(mySecondAdapter); 
+0

Ok 확인해 보겠습니다. . . . –

+0

나는 해결책에 가깝다고 생각한다. 하지만 여전히 noy는 listView를 얻습니다. 업데이트 된 질문. –

+0

고맙습니다. 나는 해결책을 얻었다. –

2

화면을 차지합니다 레이아웃의 밖에는 목록보기를 layout_weight를 속성을 추가,

2

당신은 세 가지 RelativeLayouts에 대한 android:visibility="gone" 있습니다. 이 같은 그들을 볼 수 있도록해야합니다 :

findViewById(R.id.dateSelectionLayout).setVisible(View.VISIBLE); 

한 번에 모두 볼 수 있도록 android:visibility="gone"를 제거 단순히 각각의 시간에 볼 수있는 하나의 제어, 또는 할 수 있습니다. 당신의 그래픽 레이아웃에

+0

고마워요. 하지만 자바에서 코디하여 그 견해를 관리하고 있습니다. 그래서 그것의 어떤 헛소리도 없습니다. 자바 코드에 의한 다른 것? –

+0

모든 android : visibility = "gone"을 제거하고 무슨 일이 일어나는지 확인하십시오. –

1

// 당신의 RelativeLayout의에서이 줄을 제거하고 목록을 확인를 표시

android:orientation="vertical" 
android:visibility="gone 

EDITTEXT에 대한 ID가 android:id="@+id/taxcode_EditText"

후 사용입니다

로 안드로이드 : layout_below = "@ id/taxcode_EditText"

참고로 +을 사용하지 마십시오. 당신의 선언 아래에 없다면. 세 RelativeLayouts에 대한 가시성 = "사라"

+0

내가 코디에서 설정 한대로 시야를 잊어 버리십시오. –

+0

그래픽 레이아웃에서 확인 했습니까? –

+0

첫 번째 상대 레이아웃을 볼 때 내 그래픽 레이아웃에 잘 표시됩니다. 당신의 뜻대로 보이지 않는다면 전체 레이아웃을 보내십시오. –

1

사용 android:visibility="visible" 또는

0

안드로이드 안드로이드를 확인 작동합니다 전체 라인을 제거합니다. 즉, 특정 높이 안드로이드 사용하는 대신 layout_height = "wrap_content":

그런 다음 모든 목록보기에 나는 안드로이드를 보았다 layout_height를 = 목록보기의 내용이가는 경우 기본 목록보기에서 스크롤 뷰를 제공

때문에 "(330)", 높이 이상. 그런 다음 전체 레이아웃을 스크롤 가능한보기에 놓습니다. ListViewActivity에서

관련 문제