我想在spinner选中的项目中创建alertDialog,并在alertDialog中添加EditText。 感谢
sh = (Spinner) view.findViewById(R.id.shield);
ArrayAdapter<CharSequence> adaptera = ArrayAdapter.createFromResource(getActivity(),
R.array.shield, android.R.layout.simple_spinner_item);
adaptera.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sh.setAdapter(adaptera);
sh.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
sa = (String) sh.getSelectedItem();
AlertDialog.Builder alertDialogBuildera = new AlertDialog.Builder(getActivity());
alertDialogBuildera.setTitle("Your Title");
alertDialogBuildera
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
double sl = Double.valueOf(tc.getText().toString());
getActivity().finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialoga = alertDialogBuildera.create();
if (sa.trim().equals("Lead")) {
alertDialoga.show();
} else
if (sa.trim().equals("Steel")) {
alertDialoga.show();
}
}
});
它不起作用。 如果我选择了项目,则会自动显示alertdialog。
答案 0 :(得分:0)
请检查以下链接。这将为您提供有关如何自定义微调器的详细说明。希望这能解决你的问题。
http://mrbool.com/how-to-customize-spinner-in-android/28286
在该示例中,您应该使用edittext
替换imageview请使用下面的代码我用edittext替换了imageview,它的工作正常
<强> main.xml中强>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Spinner Customization"
android:textSize="30px" />
<Spinner
android:id="@+id/spinner_show"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100px"
android:drawSelectorOnTop="true" />
<强> custom_spinner.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="3px" >
<EditText
android:id="@+id/left_content"
android:layout_width="wrap_content"
android:layout_height="80px" />
<TextView
android:id="@+id/text_main_seen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5px"
android:layout_marginTop="2px"
android:layout_toRightOf="@+id/left_content"
android:padding="3px"
android:text="JMD Group"
android:textColor="#0022ee"
android:textSize="22px"
android:textStyle="bold" />
<TextView
android:id="@+id/sub_text_seen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text_main_seen"
android:layout_marginLeft="5dip"
android:layout_toRightOf="@+id/left_content"
android:padding="2px"
android:text="beyond the expectations..."
android:textColor="#777777" />
</RelativeLayout>
<强> MainActivity 强>
public class MainActivity extends Activity {
String[] spinnerValues = { "Blur", "NFS", "Burnout", "GTA IV", "Racing", };
String[] spinnerSubs = { "Ultimate Game", "Need for Speed",
"Ulimate Racing", "Rockstar Games", "Thunder Bolt" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner mySpinner = (Spinner) findViewById(R.id.spinner_show);
mySpinner.setAdapter(new MyAdapter(this, R.layout.custom_spinner,
spinnerValues));
}
public class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context ctx, int txtViewResourceId, String[] objects) {
super(ctx, txtViewResourceId, objects);
}
@Override
public View getDropDownView(int position, View cnvtView, ViewGroup prnt) {
return getCustomView(position, cnvtView, prnt);
}
@Override
public View getView(int pos, View cnvtView, ViewGroup prnt) {
return getCustomView(pos, cnvtView, prnt);
}
public View getCustomView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View mySpinner = inflater.inflate(R.layout.custom_spinner, parent,
false);
TextView main_text = (TextView) mySpinner
.findViewById(R.id.text_main_seen);
main_text.setText(spinnerValues[position]);
TextView subSpinner = (TextView) mySpinner
.findViewById(R.id.sub_text_seen);
subSpinner.setText(spinnerSubs[position]);
EditText left_content = (EditText) mySpinner
.findViewById(R.id.left_content);
left_content.setHint("This is EditText:"+(position+1));
return mySpinner;
}
}
}
由于