0

何時間も解決しようとしましたが、できませんでした。何が起こっているかというと、アクティビティのレイアウトと呼ばれるこの editText を設定し、それをアクティビティの変数に接続します。フィールドをクリックするとビジュアル キーボードが開きますが、キーを押すと、 edittextのテキストを更新するだけでなく、ブラウザのような検索画面に。

私のxmlでは、editTextは次のとおりです。

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background = "@drawable/splash"
  android:orientation = "vertical">

  <EditText 
    android:id="@+id/searchEdit"
    android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="@color/hintGray"
android:textSize="20dp"
android:paddingLeft="50dp"
android:paddingRight="10dp"
android:layout_marginTop="300dp"
android:background="@drawable/a01_text_box"
android:hint="Hint"
android:layout_gravity="center_horizontal"   />

  <ImageButton 
android:id="@+id/searchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/a01_boton_buscar"
android:layout_gravity="center_horizontal"  /> 

</LinearLayout>

私がこれを行う活動について

public class SubscribeActivity {

private EditText searchEdit;
private ImageButton searchButton;
private Context context;

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.subscribe_main);

        this.context = this;

        findAndInitViews();

}

protected void findAndInitViews() {
    searchEdit = (EditText) findViewById(R.id.searchEdit);
    searchButton = (ImageButton) findViewById(R.id.searchButton);

    searchButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            String codeText = searchEdit.getText().toString();
            Toast.makeText(context, codeText, Toast.LENGTH_LONG).show();
        }
    });

}

}

そうならないようにする方法はまだ見つかりません。手伝って頂けますか?

4

3 に答える 3

1

あなたは実際にアクティビティで遊んでいないようです

これは間違っています:

public class SubscribeActivity

次のようになります。

public class SubscribeActivity extends Activity
于 2012-07-27T13:47:39.047 に答える
0

別の方法で試してください。

     public class SubscribeActivity extends Activity{

    private EditText searchEdit;
    private ImageButton searchButton;


    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.subscribe_main);

    searchEdit = (EditText) findViewById(R.id.searchEdit);
    searchButton = (ImageButton) findViewById(R.id.searchButton);    
 }

searchButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        String codeText = searchEdit.getText().toString();
        Toast.makeText(SubscribeActivity.this, codeText, Toast.LENGTH_LONG).show();
    }
});

  }
 }

この方法でやってみて、結果を教えてください。

于 2012-07-27T13:57:49.693 に答える
0

getApplicationContext()まず、Activity を Context-Object にキャストするのではなく、Method of Activityを使用することをお勧めします。横に延長する必要がありますActivity。あなたのコードは実行されているのではないかと思っています...しかし、それはコピーと貼り付けの間違いだと思います。

保護onCreate(Bundle b)するのではなく、公開する必要があります。

それでも問題が解決しない場合は、EditText の表示に不要なコードにコメントします。そして、コードを再び含めて段階的に戻します。

于 2012-07-27T14:06:26.940 に答える