私は以前の回答でListViewsをよく見てきましたが、私の問題の解決策を見つけることができません。主に、SQLiteデータベースからデータの配列を正常に取得したにもかかわらず、データが存在しないときのTextViewは、リストが正常に取り込まれても表示されたままです。私は次のように歴史の活動の前のユーザー入力を表示しようとしているTextViewはListViewの後ろに表示され続けます
:
HistoryActivity.java
public class HistoryActivity extends ListActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
SimpleCursorAdapter mAdapter;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
// progress bar
// Create a progress bar to display while the list loads
ProgressBar progressBar = new ProgressBar(this);
progressBar.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT));
progressBar.setIndeterminate(true);
getListView().setEmptyView(progressBar);
// Must add the progress bar to the root of the layout
ViewGroup root = (ViewGroup) findViewById(android.R.id.content);
root.addView(progressBar);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
array);
setListAdapter(arrayAdapter);
}
activity_history.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp"
android:layout_weight="1"/>
<TextView
android:text="Nothing saved. Try to answer some questions now!"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"
android:id="@android:id/empty"
/>
</RelativeLayout>
を前のSOの回答からは、I .xmlファイルのIDが正しいことを確認し、ListActivityを拡張するときにわかっているものから.setEmptyView()を使用する必要はありません。
私はおそらく何か基本的なことを忘れてしまったので、どんな支援も大歓迎です。
ありがとうございます!
私は 'TextView emptyView =(TextView)findViewById(android.R.id.empty)を実装しました。 if(array.length> 0){ emptyView.setVisibility(View.GONE); } else { emptyView.setVisibility(View.VISIBLE); } ' しかし、役に立たない。リストが空であるときのためのTextViewは、リストが入力されても引き続き表示されます。 –