0

現在Eclipseで実行されている次のMainActivity.javaファイルがあります。

私の意図は、ユーザー入力とスピナー値を取得し、のようなURLを形成することwww.ex.com?title=(user_inpu)&title_type=(spinner_input)です。

今のところ、私はこの部分にぶら下がっています。EditTextとSpinnerからテキスト値を取得するにはどうすればよいですか?

私はこのコードを書いてみました:

package com.example.myfirstapp;

import org.apache.commons.logging.Log;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

public class MainActivity extends Activity {

Button btn;
EditText edit;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn = (Button) findViewById(R.id.button);
    edit = (EditText) findViewById(R.id.edit_message);

    btn.setOnClickListener(
            new View.OnClickListener()
            {
                public void onClick(View view)
                {
                    Log.v("EditText", edit.getText().toString());
                }
            });


Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.title_type,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        Object item = parent.getItemAtPosition(pos);
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

}


}

小さなエラーが発生します:

メソッドv(string、String)は、MainActivity.javaに対して未定義です。

Log.v("EditText", edit.getText().toString());toを置き換えようとしましたLog.v("EditText", MainActivity.this.edit.getText().toString());が、エラーが解決しません。

どうすればそれを取り除くことができますか?そして、一般的に、このコードは機能しますか?

4

1 に答える 1

3

Log適切なクラスをインポートしていません。

交換するだけ

import org.apache.commons.logging.Log;

import android.util.Log;

またspinner、(ボタンやテキストフィールドのように)アクティビティのメンバーにして、任意のリスナーからアクセスできるようにすることもできます。

つまり:

public class MainActivity extends Activity {

    private Button btn;
    private EditText edit;
    private Spinner spinner;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);

        btn = (Button) findViewById(R.id.button);
        edit = (EditText) findViewById(R.id.edit_message);
        spinner = (Spinner) findViewById(R.id.spinner);

        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Log.v("EditText", edit.getText().toString());
                Log.v("Spinner", spinner.getSelectedItem().toString());
            }
        });

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.title_type, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
    }
}
于 2012-11-27T13:54:49.787 に答える