在我的活动中,有多个ListView。 请参阅它的XML布局:
<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>
现在我可以使用以下代码访问第一个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();
}
});
但是现在,如果我使用以下代码访问第二个ListView,它就无法正常工作。我无法看到任何Second ListView。
所以我的代码中有什么问题? 为什么我无法看到第二个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 :(得分:2)
为布局添加 layout_weight 属性,否则只会在列表视图中占据屏幕。
答案 1 :(得分:2)
你有三个RelativeLayouts android:visibility="gone"
。确保你看到它们,如下所示:
findViewById(R.id.dateSelectionLayout).setVisible(View.VISIBLE);
控制哪一个在每次都可见,或者只是移除android:visibility="gone"
以使它们一次全部可见。
答案 2 :(得分:1)
//从Relativelayout中删除此行并检查列表是否以图形布局显示
android:orientation="vertical"
android:visibility="gone
您对editText的ID为android:id="@+id/taxcode_EditText"
然后用作
机器人:layout_below = “@ ID / taxcode_EditText”
请勿使用+
作为参考。如果它不低于你的声明。
答案 3 :(得分:1)
使用android:visibility="visible"
或
删除它将起作用的整行
答案 4 :(得分:1)
setListAdapter()
中的 getListView()
和ListViewActivity
仅适用于以“@id/android:list
”作为ID的 THE 列表。
如果您想管理2个列表视图,则需要为第二个列表视图设置另一个ID
使用优秀的旧版findViewById()
进行检索,将其投放到ListView
,然后使用setAdapter()
将适配器设置为它。
布局:
<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);
答案 5 :(得分:0)
为三个RelativeLayouts设置android android:visibility =“gone”。
然后在每个listview中我看到android:layout_height =“wrap_content”而不是使用任何特定高度的android:layout_height =“330”,
因为在默认列表视图中,如果列表视图的内容超出高度,则提供可滚动视图。然后将整个布局放在可滚动视图下。