Hy парней!LayoutInflater: получение данных с базовым адаптером и макеты не вставлены
У меня большая проблема. Я пытаюсь отобразить данные из базы данных sqlite в списке, используя базовый адаптер. для этого я создал класс для моего базового блока, где я его определяю. Everthing отлично работает, я получаю 10 строк из курсора, но ничего не отображается. Возможно, я должен заменить Layoutinflater на другое место. Пожалуйста, помогите мне!
Моя ошибка - это что-то с id.
Вот мой adapterclass:
public class RouteAdapterActivity extends BaseAdapter{
Context context;
ArrayList<DefineRouteActivity> arraylist;
public RouteAdapterActivity(Context context, ArrayList<DefineRouteActivity> list) {
this.context = context;
arraylist = list;
}
@Override
public int getCount() {
return arraylist.size();
}
@Override
public Object getItem(int position) {
return arraylist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
DefineRouteActivity routeItems = arraylist.get(position);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.outputlayout,null);
TextView tvDeparture = (TextView)view.findViewById(R.id.txOutputDeparture);
tvDeparture.setText(routeItems.getAbfahrtszeit());
TextView tvDuration = (TextView)view.findViewById(R.id.txOutputDuration);
tvDuration.setText(routeItems.getDauer());
TextView tvTransition = (TextView)view.findViewById(R.id.txOutputTransition);
tvTransition.setText(routeItems.getUmstieg());
return view;
}
}
вот мой курсор адаптер:
public void getRoute() {
lvList = (ListView)findViewById(R.id.lvView);
mdbH = new DatabaseHelperActivity(this);
cursor = mdbH.fetchallRoutes(mdbH);
ArrayList<DefineRouteActivity> route = new ArrayList<DefineRouteActivity>();
RouteAdapterActivity adapter = new RouteAdapterActivity(PlanOutputActivity.this, route);
lvList.setAdapter(adapter);
}
и, наконец, вот мой макет, который должен быть вставлен в ListView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/outputlayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="@color/ligthgrey"
android:onClick="layoutOutput">
<TextView
android:id="@+id/txOutputDeparture"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Abfahrt "
android:textColor="@color/black"
android:layout_alignParentLeft="true"
android:maxLength="@android:integer/config_shortAnimTime"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/txOutputDuration"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/txOutputDeparture"
android:text="Dauer"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/txOutputTransition"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/txOutputDuration"
android:text="Umstieg"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginTop="10dp"/>
</RelativeLayout>
Вот мой курсор Заявление:
SELECT f.id, strftime('%H:%M', f.abfahrt) AS Abfahrt," +
"strftime('%H:%M', f.ankunft) AS Ankunft," +
"strftime('%H:%M', strftime('%s',f.ankunft)- strftime('%s',f.abfahrt), 'unixepoch') AS Dauer," +
"r.name AS Route," +
"count(u.fahrt_id) AS Umstiege " +
"FROM scotty_fahrt f " +
"JOIN scotty_haltestelle start ON f.start_id = start.id " +
"JOIN scotty_haltestelle ziel ON f.ziel_id = ziel.id " +
"JOIN scotty_route r ON f.route_id = r.id " +
"LEFT OUTER JOIN scotty_umstiegsstelle u ON f.id = u.fahrt_id " +
"WHERE start.name = 'Haibach ob der Donau Ortsmitte' " +
"AND ziel.name = 'Neufelden Busterminal (Schulzentrum)' " +
"GROUP BY u.fahrt_id
Вот мой DefineRouteActivity:
public class DefineRouteActivity {
private String abfahrtszeit;
private String dauer;
private String umstieg;
public DefineRouteActivity(String abfahrtszeit, String dauer, String umstieg)
{
this.abfahrtszeit = abfahrtszeit;
this.dauer = dauer;
this.umstieg = umstieg;
}
public String getAbfahrtszeit() {
return abfahrtszeit;
}
public String getDauer() {
return dauer;
}
public String getUmstieg() {
return umstieg;
}
}
Пожалуйста, помогите мне !!
Я не понял вашу ошибку, вы можете положить логарифм? – Dyna
oh жаль неправильный вопрос, я редактирую его rigth now – schocka94