更新错误的TextView

时间:2014-12-06 21:56:24

标签: java android eclipse textview

我有三个TextViews,plotText,yearText和directorText。还有一个用于用户输入的EditText。

应该发生什么:当我按下使用提示按钮时,应显示年份。当我再次按下使用提示按钮时,应该出现导演。

现在正在发生什么:当我按下使用提示按钮时,年份显示为应该。当我再次按下按钮时,Director标签会出现,但是DirectorText(导演的名字)出现在EditText字段中,而不是我分配给它的TextView。

我已经检查过我的标签都是正确命名的,并且我正在分配给正确的标签,我已经尝试在Eclipse中清理项目,但这也没有用。有什么想法吗?

我在onCreate中定义了TextView:

    TextView yearText = (TextView)findViewById(R.id.yearText);
    TextView directorText = (TextView)findViewById(R.id.directorText);
    TextView hintText = (TextView)findViewById(R.id.hintText);
    TextView plotText = (TextView)findViewById(R.id.plotText);

以下是按钮的代码:

public void useHint(View v){
    if (game.numHints == 2){    
        View y = findViewById(R.id.yearLabel);
        y.setVisibility(View.VISIBLE);
        yearText.setText(currentMovie.year);
        game.numHints--;
        hintText.setText("Hints Remaining: "+game.numHints);
    }else if (game.numHints == 1){
        View d = findViewById(R.id.directorLabel);
        d.setVisibility(View.VISIBLE);
        directorText.setText(currentMovie.director);
        game.numHints--;
        hintText.setText("Hints Remaining: "+game.numHints);
        // remove button
        View b = findViewById(R.id.hintButton);
        b.setVisibility(View.INVISIBLE);
    }
}

这是XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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="Andrea.guessthetitle.ActivityGuessPage" >

    <TextView
        android:id="@+id/plotLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Plot:"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/plotText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/plotLabel"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/plotLabel"
        android:maxLines="10"
        android:minHeight="500px"
        android:text="TextView" />

    <TextView
        android:id="@+id/yearLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/plotText"
        android:layout_below="@+id/plotText"
        android:text="Year: "
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:visibility="invisible" />

    <TextView
        android:id="@+id/yearText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/yearLabel"
        android:layout_alignBottom="@+id/yearLabel"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/yearLabel"
        android:text="TextView" />

    <TextView
        android:id="@+id/directorLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/yearLabel"
        android:layout_below="@+id/yearLabel"
        android:text="Director: "
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:visibility="invisible" />

     <TextView
        android:id="@+id/directorText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignBaseline="@+id/directorLabel"
        android:layout_alignBottom="@+id/directorLabel"
        android:layout_toRightOf="@+id/directorLabel"
        android:text="TextView" />

     <TextView
        android:id="@+id/guessLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/directorLabel"
        android:layout_below="@+id/directorLabel"
        android:layout_marginTop="48dp"
        android:text="Guess:"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/guessInput"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignBottom="@+id/guessLabel"
        android:layout_toRightOf="@+id/guessLabel"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/guessButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/endButton"
        android:layout_alignLeft="@+id/guessLabel"
        android:onClick="submitGuess"
        android:text="Guess" />

    <Button
        android:id="@+id/hintButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/guessButton"
        android:layout_alignBottom="@+id/guessButton"
        android:layout_alignParentRight="true"
        android:onClick="useHint"
        android:text="Use Hint" />

    <TextView
        android:id="@+id/hintText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/hintButton"
        android:text="Hints Remaining: 2" />

    <Button
        android:id="@+id/endButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:onClick="endGame"
        android:text="End Game" />

</RelativeLayout>

这是一个截图(文本字段中没有输入任何内容,当我单击提示按钮时,该文本出现在那里,现在已经消失了,因为它应该这样做): enter image description here

1 个答案:

答案 0 :(得分:0)

原来是一个愚蠢的问题,因为这只是一个简单的错误。我会留下它,万一其他人可能碰到它。我不可能是唯一犯这样小错误的人(希望如此!)。

问题是,我运行了Source - &gt;清理而不是项目 - &gt;清洁。运行正确的清洁工作就可以了。感谢@Eugen Pechanec。