我的目标是让微调列表中的项目更改背景颜色main_activity
。无法解析setOnItemSelectedListener
但由于某种原因,我无法工作setOnItemSelectedListener
。
微调工作正常,面包也不过setOnItemSelectedListener
是得到错误:“不能化解的象征......”
找不到任何在线帮助,这是适用于我的情况。下面
请参阅代码:
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Spinner;
import android.widget.AdapterView;
import android.widget.TextView;
import android.widget.Button;
import android.widget.ToggleButton;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import java.util.*;
public class MainActivity extends AppCompatActivity implements
AdapterView.OnItemSelectedListener {
private TextView tekst1;
private int ile = 1;
private Button klawisz1;
private ToggleButton onOff;
private Spinner spinner1;
public void setActivityBackgroundColor(int color) {
View view = this.getWindow().getDecorView();
view.setBackgroundColor(color);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tekst1 = (TextView) findViewById(R.id.tekst);
klawisz1 = (Button) findViewById(R.id.button);
onOff = (ToggleButton) findViewById(R.id.toggleButton);
spinner1 = (Spinner) findViewById(R.id.spinner);
spinner1.setOnItemSelectedListener((AdapterView.OnItemSelectedListener) this);
spinner1.setOnItemSelectedListener(this);
List<String> colors = new ArrayList<String>();
colors.add("White");
colors.add("Yellow");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colors);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
onOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ((++ile%2)==0) {
spinner1.setVisibility(View.VISIBLE);
}
else{
spinner1.setVisibility(View.GONE);
}
}
});
}
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// On selecting a spinner item
//setActivityBackgroundColor(Color.YELLOW);
String item = parent.getItemAtPosition(position).toString();
if(selectedItem.equals("White"))
{
setActivityBackgroundColor(Color.WHITE);
}
else if(selectedItem.equals("Yellow"))
{
setActivityBackgroundColor(Color.YELLOW);
}
// Showing selected spinner item
//Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
public void buttonOnClick(View view) {
if ((++ile%2)==0){
tekst1.setText(new Date().toString());
klawisz1.setBackgroundColor(Color.RED);
}
else
{
tekst1.setText("Next click - TIME");
klawisz1.setBackgroundColor(Color.GREEN);
}
}
你粘贴了完整的代码吗?对我来说,最后看起来像是一个“}”。如果我这样做,你的代码对我来说编译得很好。 –
你能对错误更具体吗?发布完整的错误不是“...” – pleft
粘贴整个代码并不是真的有用,它只是打印出几个“预期的”;错误和所有。问题的根源在于setOnItemSelectedListener由于某种原因未被识别。 – Yubey