请在下面查看我的代码。我无法使SetGravity工作。

怎么来的?

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="25dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:longClickable="true"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/etCommands"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Type a command"
        android:password="true" />


    <LinearLayout
        android:weightSum="100"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

    <Button
        android:layout_weight="20"
        android:id="@+id/btnResults"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Results" />

    <ToggleButton
        android:paddingBottom="10dp"
         android:layout_weight="80"
        android:id="@+id/passTog"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="ToggleButton" android:checked="true"/>

    </LinearLayout>

    <TextView
        android:id="@+id/tvResults"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="invalid" />

</LinearLayout>


Java代码:

public class TextPlay extends Activity {

    private static final String TAG = "MyApp";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.text);

        Button chkCmd = (Button) findViewById(R.id.btnResults);
        final ToggleButton passTog = (ToggleButton) findViewById(R.id.passTog);
        final EditText input = (EditText) findViewById(R.id.etCommands);
        final TextView display = (TextView) findViewById(R.id.tvResults);

        passTog.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                // TODO Auto-generated method stub

                if (passTog.isChecked()) {

                    input.setInputType(InputType.TYPE_CLASS_TEXT
                            | InputType.TYPE_TEXT_VARIATION_PASSWORD);

                } else {

                    input.setInputType(InputType.TYPE_CLASS_TEXT);

                }

            }
        });

        chkCmd.setOnClickListener(new View.OnClickListener() {

                @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                String check = input.getText().toString();

                Log.i(TAG, "Check Value is: " + check);

                if (check.contentEquals("left")) {
                    Log.i(TAG, "I am under left ");
                    display.setGravity(Gravity.LEFT); //WHYW ILL YOU NOT WORK SETGRAVITY?????????????
                } else if (check.contentEquals("center")) {
                    display.setGravity(Gravity.CENTER);

                } else if (check.contentEquals("right")) {
                    display.setGravity(Gravity.RIGHT);
                }

                else if (check.contentEquals("blue")) {
                    display.setGravity(Gravity.RIGHT);
                }

            }
        });
    }
}

最佳答案

我刚刚测试过,它可以工作。.您可能做错了一些事情;

首先,当您在文本字段中键入“ left”时,是否要确保没有键入“ Left”(大多数键盘的首字母大写)

如果您对上述内容有把握,是否会看到显示“我在左边”的日志(不是“检查为”)?如果没有,那么它就无法到达目的地。

如果确实看到它,则可能要清理/构建项目(在Eclipse Project-> Clean中-它会清理并重新构建)

如果这两种方法都不起作用,则可能需要更改目标构建(将其更改为API级别10左右),如果您只是将其用作学习练习,则不必担心目标构建。

关于android - setGravity不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8568007/

10-10 02:13