【发布时间】:2015-02-19 17:43:52
【问题描述】:
我刚学Android应用开发,不明白怎么Logspinner中选中项的值。
这是我为MainActivity.java 准备的内容
import android.content.ContentResolver;
import android.database.Cursor;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.provider.ContactsContract;
import java.util.ArrayList;
public class MainActivity extends ActionBarActivity {
public Spinner contactSpinner = (Spinner) findViewById(R.id.contact_list);
protected void onCreate(Bundle savedInstanceState) {
ArrayList contactList = new ArrayList();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contactList.add("An item");
contactList.add("Another item");
contactList.add("A third item");
// Add items from contactList to spinner
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,contactList);
contactSpinner.setAdapter(adapter);
}
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
// An item was selected. You can retrieve the selected item using
parent.getItemAtPosition(pos);
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
contactSpinner.setOnItemSelectedListener(this);
}
我正在关注responding to user selections 上的 Android 开发文档,但使用我的代码时,我收到此错误:Could not resolve symbol setOnItemSelectedListener
为什么?我该如何解决它,以便我可以 Log 在 Spinner 中选择什么?
编辑
此代码有效
package com.example.compy.spookr;
公共类 MainActivity 扩展 ActionBarActivity 实现 AdapterView.OnItemSelectedListener { 公共微调器contactSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList contactList = new ArrayList();
contactSpinner = (Spinner) findViewById(R.id.contact_list);
contactSpinner.setOnItemSelectedListener(this);
// Rest of code...
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
// An item was selected. You can retrieve the selected item using
parent.getItemAtPosition(pos);
Log.v("onItemSelected",(String) parent.getItemAtPosition(pos));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
// Rest of code ...
}
【问题讨论】:
-
您正试图在代码块之外执行代码。您需要将
contactSpinner.setOnItemSelectedListener(this);移动到您的一种方法中。
标签: java android xml spinner android-spinner