Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

textview does not display text (one text view push another far away from the screen)

Now textview shows the statement if i will scroll far away to the bottom. Looks like promis textview become to large. Is there a way to fix it?

screenshot everything under stars is part of promis textview. It is a single string with several newline characters screenshot2 another screenshot

code that generate promises

prm = doc.getElementsByTagName("promise");
            for (int j = 0; j < prm.getLength(); j++) {
                prom += parser.getValue(e, KEY_PROMISES, j) + "\n";

            }
            prom.substring(0,prom.lastIndexOf('\n'));

layout

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget32"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:id="@+id/top"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/face"
            android:layout_width="68dp"
            android:layout_height="68dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true" />

        <TextView
            android:id="@+id/name"
            android:layout_width="243dp"
            android:layout_height="35dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@id/face"
            android:text="from" />

        <TextView
            android:id="@+id/office"
            android:layout_width="242dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/face"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/name"
            android:layout_toRightOf="@id/face"
            android:text="subject" />
    </RelativeLayout>

    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/top"
        android:numStars="6"
        android:singleLine="false" />

    <TextView
        android:id="@+id/promises"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/ratingBar1"
        android:layout_marginTop="5dp"
        android:text="TextView" />

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/promises"
        android:layout_marginRight="22dp"
        android:layout_marginTop="26dp" >

        <TextView
            android:id="@+id/statement"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
    </ScrollView>

</RelativeLayout>

activity for my app

public class SingleMenuItemActivity  extends Activity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.candidate);
        Log.d("here ?", "No ");
        int loader = R.drawable.loader;
        // getting intent data
        Intent in = getIntent();
        Log.d("here ?", "No ");
        // Get XML values from previous intent
        String name = in.getStringExtra("name");
        Log.d("Name ", name);
        Log.d("here ?", "No ");
        DatabaseHandler db = new DatabaseHandler(this);
        Log.d("here ?", "No ");
        Candidate p = db.getCandidate(name);
        Log.d("Did i take candidate? ", "yea ");
        db.close();
        Log.d("Statement", p.get_statment());
        // Displaying all values on the screen
        TextView lblName = (TextView) findViewById(R.id.name);
        TextView lblOffice = (TextView) findViewById(R.id.office);
        TextView lblPromise = (TextView) findViewById(R.id.promises);
        TextView lblStatement = (TextView) findViewById(R.id.statement);
        ImageView lblFace = (ImageView) findViewById(R.id.face);
        RatingBar lblRating = (RatingBar) findViewById(R.id.ratingBar1);
        ImageLoader imgLoader = new ImageLoader(this);
        lblName.setText(p.get_name());
        lblOffice.setText(p.get_office());
        lblPromise.setText(p.get_promises());
        lblStatement.setText(p.get_statment());
        lblRating.setRating(p.get_ranking());
        imgLoader.DisplayImage(p.get_photograph(), loader, lblFace);

    }
}

logcat says p.get_statment() has proper value in it

12-16 05:07:16.089: D/Statement(279): I strive for the highest standards of appearance and personal grooming.  If, like me, you think that the University's reputation is being dragged down by lecturers who have little or no regard for fashion and are content to wear ill-fitting or patched clothes then vote for me: the stylish choice.

reputation is to low to post image %)

like image 311
Yarh Avatar asked Dec 17 '25 14:12

Yarh


1 Answers

It looks like your RatingBar is covering your statement TextView:

<RatingBar
    android:layout_above="@+id/statement"
    ... />

Perhaps you meant layout_below?

Also your promises TextView has a very large top margin, it could be pushing the statement TextView off the bottom of the screen:

<TextView
    android:id="@+id/promises"
    android:layout_marginTop="124dp"
    ... />

Addition
Apparently there are also a number of newline characters at the end of your promises TextView. If you cannot remove these character from the source you can use trim():

prom = prom.trim();
like image 111
Sam Avatar answered Dec 20 '25 03:12

Sam



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!