ListViewをカスタマイズしたいListAdapterを使用する単純なListActivityがあります。ここで私はsetListAdapterによって生成されるデフォルトのリストビューを()使用するのではなく、ビューを使用するように指定し、私のonCreateは、次のとおりです。XMLを使用したListViewのカスタマイズ問題
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// set the listview, empty listview
setContentView(R.layout.main);
getListView().setEmptyView(findViewById(android.R.id.empty));
// set the list properties
getListView().setOnCreateContextMenuListener(this);
.
.
.
<code snipped>
.
.
.
setListAdapter(adapter);
}
あなたは私もemptyViewを設定していていることがわかります。ここではXMLファイルmain.xmlは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fadingEdge="vertical"
android:dividerHeight="5dp" />
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:singleLine="false"
android:text="@string/message_empty_list" />
</LinearLayout>
私の問題は、リストビューは、正しくdividerHeightをかけながら、無視されていることである:それはXMLであるときfadingEdgeディレクティブを。しかし、私はプログラム的fadingEdgeを設定した場合、それが動作する、すなわち:
getListView().setVerticalFadingEdgeEnabled(true);
リストビューは、具体的fadingEdgeを無視するだろう、なぜ任意のアイデア?この動作につながる可能性がある間違ったことをしていますか?
ありがとうございます!
私はもともとアンドロイドとしてそれを持っていた:私はそれがあることを期待していたとして、ID /リストが、それはどちらか、その後の作業...私は、検索を行なったし、それを変更することを推奨こちらのページに出くわしていませんでした@ id/android:list ...もちろん、私はそのページを見つけることができません。とにかく、簡単な答えはまだアンドロイドを変更しても動作しないということです。id –
FYI、XMLのFrameLayoutと親ルートコンテナのLinearLayoutを変更しました。結果に変更はなく、まだピックアップされていませんandroid:fadingEdgeプロパティ。 –
リストビューはデフォルトでそれを処理する方法なので、リストビューがフェードエッジ属性をオーバーライドしていると思います。コード内で変更してみてください。 – Falmarri