2016-03-23 6 views
0

Reyting çubuklarım ile bu garip sorunu yaşıyorum. Yıldızları görebileceğiniz gibi tamamenReyting çubuğu, uygulamamı döndürdüğümde daha fazla yıldız gösteriyor

değiştirmek

This is my app in vertical position

This is my app in horizontal position

Bu benim xml dosyasıdır:

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="@drawable/main" 
    tools:context="com.example.draganam.blankapp.Nivo1Activity"> 

    <TableLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:shrinkColumns="1,0" android:stretchColumns="0,1"> 

     <TableRow 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingTop="50dp"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/slika0" 
       android:src="@drawable/becutan1" 
       android:layout_column="0" 
       android:layout_marginRight="40px" /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/slika1" 
       android:src="@drawable/blizoo1" 
       android:layout_column="1" /> 
     </TableRow> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <RatingBar 
       android:id="@+id/rb0" 
       style="?android:attr/ratingBarStyleIndicator" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:numStars="5" 
       android:stepSize="1.0" 
       android:isIndicator="true" 
       android:scaleX="0.7" 
       android:scaleY="0.7"/> 

      <RatingBar 
       android:id="@+id/rb1" 
       style="?android:attr/ratingBarStyleIndicator" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:numStars="5" 
       android:stepSize="1.0" 
       android:isIndicator="true" 
       android:scaleX="0.7" 
       android:scaleY="0.7"/> 
     </TableRow> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingTop="50dp"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/slika2" 
       android:src="@drawable/brilijant1" 
       android:layout_column="0" 
       android:layout_marginRight="40px" /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/slika3" 
       android:src="@drawable/vitaminka1" 
       android:layout_column="1" /> 
     </TableRow> 
     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
     <RatingBar 
      android:id="@+id/rb2" 
      style="?android:attr/ratingBarStyleIndicator" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:numStars="5" 
      android:stepSize="1.0" 
      android:isIndicator="true" 
      android:scaleX="0.7" 
      android:scaleY="0.7"/> 

     <RatingBar 
      android:id="@+id/rb3" 
      style="?android:attr/ratingBarStyleIndicator" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:numStars="5" 
      android:stepSize="1.0" 
      android:isIndicator="true" 
      android:scaleX="0.7" 
      android:scaleY="0.7"/> 
    </TableRow> 

    </TableLayout> 
</RelativeLayout> 

Bu benim java kodu: Ben veritabanı dosyasından derece değerlerini almak

Context ctx2 = this; 
String[][] arrayWithInformations = new String[5][]; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_nivo1); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    DatabaseOperations databaseOperations = new DatabaseOperations(ctx2); 
    Cursor cursorLogo = databaseOperations.getInformationsForLogos(databaseOperations); 
    // looping through all rows and adding to list 
    Integer i = 0; 
    if (cursorLogo.moveToFirst()) { 
     do { 
      String[] helperArray = {cursorLogo.getString(0),cursorLogo.getString(1),cursorLogo.getString(2),cursorLogo.getString(3), 
        cursorLogo.getString(4),cursorLogo.getString(5)}; 
      arrayWithInformations[i] = helperArray; 
      i++; 

     } while (cursorLogo.moveToNext()); 
    } 
    int firstRating = Integer.parseInt(arrayWithInformations[0][4]); 
    int secondRating = Integer.parseInt(arrayWithInformations[1][4]); 
    int thirdRating = Integer.parseInt(arrayWithInformations[2][4]); 
    int fourthRating = Integer.parseInt(arrayWithInformations[3][4]); 
    RatingBar rb0 = (RatingBar) findViewById(R.id.rb0); 
    rb0.setRating(firstRating); 
    RatingBar rb1 = (RatingBar) findViewById(R.id.rb1); 
    rb1.setRating(secondRating); 
    RatingBar rb2 = (RatingBar) findViewById(R.id.rb2); 
    rb2.setRating(thirdRating); 
    RatingBar rb3 = (RatingBar) findViewById(R.id.rb3); 
    rb3.setRating(fourthRating); 

ve her şey gayet iyi çalışıyor, yıldız Tamam ama telefon döndürdüğünüzde hepsi yanlış. Telefonunuzu döndürdüğünüzde that'u biliyorum, geçerli etkinlik tekrar yüklenir, ancak aynı koddur ve yanlış yüklenir. Belki de yıldızları çarpıyor. Komik gibi gelebilir ama neyin yanlış gittiğine dair hiçbir fikrim yok. Birisi bana bir kurşun verin lütfen.

+1

Eğer arrayWithInformations ne olduğunu bize gösterecek ve nerede i kesme noktaları ile hata ayıklama başlamak önermek – Raghunandan

+0

initiaized olduğunu olabilir. UI ile yanlış bir şey yok. Bir problemde yıldızları hesaplamak o zaman ben sqlite – Raghunandan

+0

veri alma yolunda baktım bir hata ayıklama yaptım. Her şey iyi görünüyor ... SQLite veritabanı dosyasından geliyor dediğim gibi. Onlar dikey modda, birincisi 4, sonra 5,2 ve 3'tür. Ama ben döndüğümde değişiyorlar ve tekrar dikey olarak döndüğümde tekrar iyi oluyorlar. –

cevap

1

Problemi buldum!

android: shrinkColumns = "1,0" android: stretchColumns = TableLayout bu ayarlama "0,1"

bu garip sorunu neden oldu. bana yardımcı ilgiden dolayı

herkese teşekkürler ..

İlgili konular