下面是我的两个工作图像微调器的代码,使用full_battery作为示例,后面有什么方法,如果选择某个图像,我可以出现一个文本框
赞赏任何提示或链接
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
String[] labels={"Full","Half","Low"};
int CauseIcons[] = {full_battery, R.drawable.half_battery, R.drawable.low_battery};
int EffectIcons[] = {R.drawable.wifi_off, R.drawable.bluetooth_off};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner CauseSpin = (Spinner) findViewById(R.id.CauseSpinner);
Spinner EffectSpin = (Spinner) findViewById(R.id.EffectSpinner);
CauseSpin.setOnItemSelectedListener(this);
EffectSpin.setOnItemSelectedListener(this);
CustomAdapter customAdapter=new CustomAdapter(getApplicationContext(),CauseIcons,labels);
CauseSpin.setAdapter(customAdapter);
EffectAdapter customAdapter1=new EffectAdapter(getApplicationContext(),EffectIcons);
EffectSpin.setAdapter(customAdapter1);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {
Toast.makeText(getApplicationContext(), labels[position], Toast.LENGTH_SHORT).show();
if(R.drawable.full_battery.******){
// "textbox".isVisible();
}
}
更新: 或者,可以/容易地说当选择某个标签时,例如,如果选中“完整”,则会出现文本框,如果不是则不会显示
更新2 : 新的尝试版本,我认为通过在全局范围内定义图像,这将给他们在if语句中使用的变量ID,现在问题是,在onItemSelected()的if语句中,***部分无法解析符号.equals (int)或.contains(int)和应用程序崩溃,例如selectedImage ==(空)
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
int empty = R.drawable.empty;
int full = R.drawable.full_battery;
int half = R.drawable.half_battery;
int low = R.drawable.low_battery;
int onLocation = R.drawable.location_on;
int onBluetooth = R.drawable.bluetooth_on;
int onWifi = R.drawable.wifi_on;
int offWifi = R.drawable.wifi_off;
int offBluetooth = R.drawable.bluetooth_off;
int offLocation = R.drawable.location_off;
int offAlarm = R.drawable.alarm_off;
Spinner causeSpin;
EditText causeText;
int causeIcons[] = {empty, full, half,low, onLocation, onBluetooth, onWifi};
Spinner effectSpin;
EditText effectText;
int effectIcons[] = {empty,offWifi,offBluetooth,offLocation,offAlarm};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//This stops the keyboard automatically appearing on app start up
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
causeSpin = (Spinner) findViewById(R.id.CauseSpinner);
causeSpin.setOnItemSelectedListener(this);
CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), causeIcons);
causeSpin.setAdapter(customAdapter);
effectSpin= (Spinner) findViewById(R.id.EffectSpinner);
effectSpin.setOnItemSelectedListener(this);
EffectAdapter customAdapter1 = new EffectAdapter(getApplicationContext(), effectIcons);
effectSpin.setAdapter(customAdapter1);
causeText = (EditText) findViewById(R.id.causeTextBox);
causeText.setText("", TextView.BufferType.EDITABLE); //
effectText = (EditText) findViewById(R.id.effectTextBox);
effectText.setText("", TextView.BufferType.EDITABLE); //
}
// String text = causeSpin.getSelectedItem().toString();
int selectedImage = (int)causeSpin.getSelectedItem();
// getResources().getDrawable(causeIcons[0]);
@Override
public void onItemSelected (AdapterView < ? > parentView, View selectedItemView, int position, long id) {
if (selectedImage.*******(onLocation)){
}