My ListedActivity пуст и не содержит ошибок или исключений. Он просто сидит там, ничего не делая.Активность пустого списка, объект ListView не равен
Моя база данных не должна быть пустой, есть некоторые записи.
public class ListedActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout mContainer = (LinearLayout) inflater.inflate(R.layout.activity_list, null);
ListView listView = (ListView) mContainer.findViewById(R.id.listedactivity_list_view);
DBHelper dbHelper = new DBHelper(getApplicationContext());
ArrayList<MyLayoutObject> b = dbHelper.getAllResults();
MyAdapter a = new MyAdapter(this, b);
listView.setAdapter(a);
listView.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
Intent intent = new Intent(ListedActivity.this, ResultsActivity.class);
intent.putExtra("position", position);
intent.putExtra("id", id);
startActivity(intent);
}
}
);
}
}
Список мероприятий должен содержать все результаты из моей базы данных. Вот он .xml.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="smart.tuke.sk.makac.ListedActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eeeeee"
android:id="@+id/listedactivity_list_view" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/empty"
android:text="@string/no_data"
android:visibility="gone" />
</LinearLayout>
Это мой макет строки. Каждая строка должна выглядеть так. Его .xml ниже.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="61dp"
android:orientation="vertical">
<TextView
android:id="@+id/date_recorded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#111111" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/duration_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/distance_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/pace_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/calories_recorded" />
</LinearLayout>
</LinearLayout>
MyLayoutObject 5 строк с добытчиками, не более
Помоги мне, Переполнение Кеноби, ты моя единственная надежда!
редактировать: адаптер код
class MyAdapter extends BaseAdapter{
private LayoutInflater inflater;
private ArrayList<MyLayoutObject> objects;
private class ViewHolder {
TextView date;
TextView duration;
TextView distance;
TextView pace;
TextView calories;
}
MyAdapter(Context context, ArrayList<MyLayoutObject> objects) {
inflater = LayoutInflater.from(context);
this.objects = objects;
}
public int getCount() {
return objects.size();
}
public MyLayoutObject getItem(int position) {
return objects.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.row_layout, null);
holder.date = (TextView) convertView.findViewById(R.id.date_recorded);
holder.distance = (TextView) convertView.findViewById(R.id.distance_recorded);
holder.duration = (TextView) convertView.findViewById(R.id.duration_recorded);
holder.pace = (TextView) convertView.findViewById(R.id.pace_recorded);
holder.calories = (TextView) convertView.findViewById(R.id.calories_recorded);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.date.setText(objects.get(position).getDate());
holder.duration.setText(objects.get(position).getDuration());
holder.distance.setText(objects.get(position).getDistance());
holder.pace.setText(objects.get(position).getPace());
holder.calories.setText(objects.get(position).getCalories());
return convertView;
}
}
И .xml адаптера
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="61dp"
android:orientation="vertical">
<TextView
android:id="@+id/date_recorded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#111111" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/duration_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/distance_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/pace_recorded" />
<TextView
android:layout_width="345dp"
android:layout_height="wrap_content"
android:id="@+id/calories_recorded" />
</LinearLayout>
</LinearLayout>
Try сдвигая listview.setAdapter после setContentView (R.layout.activity_list) – Swr7der
Я сместился их активность остается пустым –