在android中的自定义对话框?
问题描述:
1.这是添加按钮,当我点击这里我应该出现自定义对话框。在android中的自定义对话框?
Button add = (Button) findViewById(R.id.addbutton);
// add button listener
add.setOnClickListener(new OnClickListener() {
2,本为自定义对话框代码
// custom dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.form);
dialog.setTitle("Custom dailog");
TextView uname_TV = (TextView) findViewById(R.id.Uname_TV);
EditText uname_ET = (EditText) findViewById(R.id.Uname_ET);
TextView dname_TV = (TextView) findViewById(R.id.Drugname_TV);
EditText dname_ET = (EditText) findViewById(R.id.Drugname_ET);
spinner = (Spinner) findViewById(R.id.spinner_id);
ArrayAdapter <String> adapter = new ArrayAdapter <String> (
context, android.R.layout.simple_spinner_item,
noof_times);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setSelection(1);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView <? > parent,
View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
String item1 = parent.getSelectedItem().toString();
Toast.makeText(getApplicationContext(), "Selected:" + item, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView <? > arg0) {
// TODO Auto-generated method stub
}
});
dialog.show();
我越来越
Null pointer exception at spinner.setAdapter(adapter);
我没有得到它,一个帮助了这个错误
答
应该
spinner = (Spinner) dialog.findViewById(R.id.spinner_id);
尝试用这种line..hope它会工作。
+2
已答复已发布。 – user370305 2012-07-09 05:43:39
答
呀你会得到,因为
TextView uname_TV = (TextView) findViewById(R.id.Uname_TV);
EditText uname_ET = (EditText) findViewById(R.id.Uname_ET);
TextView dname_TV = (TextView) findViewById(R.id.Drugname_TV);
EditText dname_ET = (EditText) findViewById(R.id.Drugname_ET);
spinner = (Spinner) findViewById(R.id.spinner_id);
这些变化对
TextView uname_TV = (TextView) dialog.findViewById(R.id.Uname_TV);
EditText uname_ET = (EditText) dialog.findViewById(R.id.Uname_ET);
TextView dname_TV = (TextView) dialog.findViewById(R.id.Drugname_TV);
EditText dname_ET = (EditText) dialog.findViewById(R.id.Drugname_ET);
spinner = (Spinner) dialog.findViewById(R.id.spinner_id);
+0
谢谢你每一个人都得到它。:) – Anwesh 2012-07-09 06:09:54
答
您必须在使视图自定义时膨胀布局。 尝试下面的代码上的click事件:
LayoutInflater inflater=LayoutInflater.from(YouActivityName.this);
View view=inflater.inflate(R.layout.form, null);
AlertDialog.Builder builder=new AlertDialog.Builder(YouActivityName.this);
builder.setView(view);
Spinner spinner=(Spinner) view.findViewById(R.id.spinner_id);
ArrayAdapter<String > adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,item);
spinner.setAdapter(adapter);
builder.create();
builder.show();
上述声明在code.Hope剩下的意见,这将帮助你。
尝试使用'dialog.findViewById(...)识别textview',然后在这里发布你的logtrace。 – Praveenkumar 2012-07-09 05:34:29
检查此..:http://*.com/a/10652886/1168654 – 2012-07-09 05:49:31