我目前在Eclipse上运行以下MainActivity.java文件。
我的目的是获取用户输入和微调器值,并形成类似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) {
}
});
}
}
我收到一个小错误:
对于MainActivity.java,方法v(string,String)未定义。
我已尝试将Log.v("EditText", edit.getText().toString());
替换为Log.v("EditText", MainActivity.this.edit.getText().toString());
,但错误仍然存在。
我如何摆脱它?一般来说,这段代码会起作用吗?
答案 0 :(得分: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);
}
}