2016-03-17 3 views
0

У меня возникла проблема, когда ни один из моих текстовых элементов не отображается в ListView. Я не уверен, что это проблема с макетом или самим классом java. Здесь есть два изображения, одно из приложений, запущенных после того, как данные были введены в базу данных и одно из них должно выглядеть.Android - TextViews не отображается в ListView

макета для каждой строки данных в ListView

Фрагмент для ListView (Удалить Кнопка появляется, но не TextViews)

enter image description here

row_layout.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"> 

    <TextView 
     android:layout_width="123dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultTeamNumber" 
     android:text="Here Number" 
     android:textSize="18dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/textPortcullis" 
     android:text="Portcullis:" 
     android:layout_above="@+id/textChevalFrise" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultPortcullis" 
     android:text="Yes/No" 
     android:singleLine="false" 
     android:layout_below="@+id/resultTeamNumber" 
     android:layout_marginLeft="110dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textChevalFrise" 
     android:text="Cheval de Frise:" 
     android:layout_below="@+id/resultPortcullis" 
     android:layout_alignParentStart="true" 
     android:singleLine="false" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultChevalFrise" 
     android:text="Yes/No" 
     android:singleLine="false" 
     android:layout_below="@+id/resultPortcullis" 
     android:layout_alignStart="@+id/resultPortcullis" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textMoat" 
     android:singleLine="false" 
     android:layout_below="@+id/textChevalFrise" 
     android:layout_alignParentStart="true" 
     android:text="Moat:" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultMoat" 
     android:text="Yes/No" 
     android:singleLine="false" 
     android:layout_below="@+id/resultChevalFrise" 
     android:layout_alignStart="@+id/resultChevalFrise" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textRamparts" 
     android:text="Ramparts:" 
     android:singleLine="false" 
     android:layout_below="@+id/textMoat" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultRamparts" 
     android:text="Yes/No" 
     android:singleLine="false" 
     android:layout_above="@+id/textDrawbridge" 
     android:layout_alignStart="@+id/resultMoat" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textDrawbridge" 
     android:text="Drawbridge:" 
     android:singleLine="false" 
     android:layout_below="@+id/textRamparts" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultDrawbridge" 
     android:text="Yes/No" 
     android:singleLine="false" 
     android:layout_below="@+id/resultRamparts" 
     android:layout_alignStart="@+id/resultRamparts" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textSallyPort" 
     android:text="Sally Port:" 
     android:singleLine="false" 
     android:layout_below="@+id/textDrawbridge" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultSallyPort" 
     android:singleLine="false" 
     android:layout_below="@+id/resultDrawbridge" 
     android:layout_alignStart="@+id/resultDrawbridge" 
     android:text="Yes/No" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textRockWall" 
     android:text="Rock Wall:" 
     android:singleLine="false" 
     android:layout_alignTop="@+id/resultPortcullis" 
     android:layout_toEndOf="@+id/resultPortcullis" 
     android:layout_marginStart="34dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultRockWall" 
     android:singleLine="false" 
     android:text="Yes/No" 
     android:layout_marginStart="46dp" 
     android:layout_above="@+id/resultRockTerrain" 
     android:layout_toEndOf="@+id/textRockTerrain" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textRockTerrain" 
     android:text="Rock Terrain:" 
     android:singleLine="false" 
     android:layout_below="@+id/textRockWall" 
     android:layout_alignStart="@+id/textRockWall" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultRockTerrain" 
     android:singleLine="false" 
     android:text="Yes/No" 
     android:layout_alignBottom="@+id/textRockTerrain" 
     android:layout_alignStart="@+id/resultRockWall" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textLowBar" 
     android:text="Low Bar:" 
     android:singleLine="false" 
     android:layout_above="@+id/resultRamparts" 
     android:layout_alignStart="@+id/textRockTerrain" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultLowBar" 
     android:singleLine="false" 
     android:text="Yes/No" 
     android:layout_below="@+id/resultRockTerrain" 
     android:layout_alignStart="@+id/resultRockTerrain" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#fff" 
     android:background="@color/colorPrimary" 
     android:text="Delete" 
     android:id="@+id/buttonDelete" 
     android:layout_below="@+id/textLowBar" 
     android:layout_toEndOf="@+id/textLowBar" 
     android:layout_above="@+id/resultSallyPort" /> 
</RelativeLayout> 

ScoutFragment.java

import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentTransaction; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ListView; 

/** 
* A simple {@link Fragment} subclass. 
*/ 
public class ScoutFragment extends Fragment { 

    FloatingActionButton addDataScout; 
    ListView eListScoutInfo; 
    SQLiteDatabase sqLiteDatabase; 
    DatabaseHelper databaseHelper; 
    Cursor cursor; 
    ListScoutInfoAdapter listScoutInfoAdapter; 

    public ScoutFragment() { 
     // Required empty public constructor 
    } //End of ScoutFragment 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_scout, null, false); 
     view.setBackgroundColor(Color.WHITE); 
     eListScoutInfo = (ListView) view.findViewById(R.id.listScoutInfo); 
     listScoutInfoAdapter = new ListScoutInfoAdapter(getActivity().getApplicationContext(), R.layout.row_layout); 
     eListScoutInfo.setAdapter(listScoutInfoAdapter); 
     databaseHelper = new DatabaseHelper(getActivity().getApplicationContext()); 
     sqLiteDatabase = databaseHelper.getReadableDatabase(); 
     cursor = databaseHelper.getInformation(sqLiteDatabase); 

     //Checks if information is available in cursor 
     if(cursor.moveToFirst()){ 
      do { 
       //Declare all strings 
       String teamNumber, portcullis, chevalFrise, moat, ramparts, drawbridge, sallyPort, rockWall, rockTerrain, lowBar; 

       //Get strings from cursor 
       teamNumber = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_NUMBER)); 
       portcullis = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_PORTCULLIS)); 
       chevalFrise = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_CHEVAL_FRISE)); 
       moat = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_MOAT)); 
       ramparts = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_RAMPARTS)); 
       drawbridge = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_DRAWBRIDGE)); 
       sallyPort = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_SALLY_PORT)); 
       rockWall = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_ROCK_WALL)); 
       rockTerrain = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_ROCK_TERRAIN)); 
       lowBar = cursor.getString(cursor.getColumnIndex(DatabaseContract.NewDataInfo.COL_LOW_BAR)); 

       //Get methods from DatabaseProvider 
       DatabaseProvider databaseProvider = new DatabaseProvider(teamNumber, portcullis, chevalFrise, moat, ramparts, 
         drawbridge, sallyPort, rockWall, rockTerrain, lowBar); 

       //Pass objects to add method 
       listScoutInfoAdapter.add(databaseProvider); 
       listScoutInfoAdapter.notifyDataSetChanged(); 
      } while (cursor.moveToNext()); 
     } //End of if statement 

     //Setups Floating Action Button 
     addDataScout = (FloatingActionButton) view.findViewById(R.id.fab); 
     addDataScout.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       AddScoutDataFragment fragment = new AddScoutDataFragment(); 
       FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); 
       fragmentTransaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right); 
       fragmentTransaction.replace(R.id.fragment_container, fragment); 
       fragmentTransaction.commit(); 
      } //End of onClick 
     }); //End of setOnClickListener 
     return view; 
    } //End of onCreateView 
} //End of class 

Я не считаю, что проблема с базой данных с указанием данных, поскольку некоторые из TextViews в ListView даже не использовать данные из внутренней базы данных.

+1

изменить тему или задать черный TextColor. – Rocky

+1

Нет необходимости удалять и повторно отправлять свой вопрос. Редактирование приведет к тому, что оно вернется в верхнюю часть активной очереди. –

+0

Это еще один вопрос, хотя мои данные для разводного моста не появляются, возможно, проблема с базой данных, я посмотрю на него, спасибо –

ответ

1

вашего row_layout.xml файл TextView в комплекте TextColor:

<TextView 
    android:layout_width="123dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/resultTeamNumber" 
    android:text="Here Number" 
    android:textSize="18dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:textColor="@android:color/black" 

/>

+0

этот подход не лучше, так как он должен изменить текст в каждом текстовом виде –

1

Это тематический выпуск на вашем конце, вероятно TextColor установлено белым в вашей теме изменить эти

<item name="android:textColorPrimary">@color/white</item> 
<item name="android:textColorSecondary">@color/white</item> 

изменить его на черный

+0

@sameer Alabi, пожалуйста, отметьте ответ как принято, если он помог –

+0

вы можете принять только один ответ –

1

установить адаптер в списке в последнем ......... .....

enter image description here

Смежные вопросы