android中怎么实现一个自定义对话框

android界面中,单击EditText弹出一个时间对话框,

4个回答

1.可以自定义对话框的布局
2.新建一个activity 设置android:theme="@style/mydialog"
parent="@android:style/Theme.Dialog" ><br> <item name="android:windowNoTitle">true</item><br> <item name="android:windowBackground">@android:color/transparent</item><br> <item name="android:windowIsFloating">true</item><br>

自己写一个Dialog就好了

love_lang
冻死人了 在另一个xml文件里写吗?
5 年多之前 回复

可以重写Dialog给设置一个布局文件,或者直接使用AlertDialog.Builder设置一个自定义布局(setView)

自己写一个布局,加载这个布局,然后就像一般的dialog一样了

love_lang
冻死人了 加载代码不会写
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
安卓中自定义对话框的显示问题

android中自定义的dialog,为甚么会出现一块没有设置的背景呢》下面给出源码和效果图。 自定义dialog的布局xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" android:background="@drawable/custom_dialog"> <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提示" android:textSize="20sp" android:layout_marginTop="20dp"/> <TextView android:id="@+id/tv_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="是否删除?" android:layout_marginBottom="20dp" android:textSize="20sp" android:layout_marginTop="20dp"/> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#000000" /> <LinearLayout android:layout_width="match_parent" android:layout_height="45dp" android:orientation="horizontal" > <TextView android:id="@+id/tv_confirm" android:gravity="center" android:layout_width="0dp" android:layout_height="45dp" android:layout_weight="1" android:text="确定" android:textSize="20sp" /> <View android:layout_width="0.5dp" android:layout_height="45dp" android:background="#000000" /> <TextView android:id="@+id/tv_cancel" android:gravity="center" android:layout_width="0dp" android:layout_height="45dp" android:layout_weight="1" android:text="取消" android:textSize="20sp" /> </LinearLayout> </LinearLayout> 自定义Dialog的java代码 package Dialog; import android.app.Dialog; import android.content.Context; import android.graphics.Point; import android.os.Bundle; import android.text.TextUtils; import android.view.Display; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.TextView; import uilist.ldm.com.uilist.R; import static uilist.ldm.com.uilist.R.id.dialog; /** * Created by Administrator on 2017/9/20 0020. */ public class DialogStyle extends Dialog implements View.OnClickListener { private TextView tv_title,tv_message,tv_confirm,tv_cancel; private IOnCanelListener canelListener; private IOnConfirmListener confirmListener; private String title,message,confirm,cancel; public DialogStyle(Context context) { super(context); } public DialogStyle(Context context,int themeId) { super(context,themeId); } public DialogStyle setTitle(String title) { this.title = title; return this; } public DialogStyle setMessage(String message) { this.message = message; return this; } public DialogStyle setConfirm(String confirm,IOnConfirmListener listener) { this.confirm = confirm; this.confirmListener=listener; return this; } public DialogStyle setCancel(String cancel,IOnCanelListener listener) { this.cancel = cancel; this.canelListener=listener; return this; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialogstyle); //设置宽度 WindowManager m=getWindow().getWindowManager(); Display d=m.getDefaultDisplay(); WindowManager.LayoutParams p=getWindow().getAttributes(); Point size=new Point(); d.getSize(size); p.width=(int)(size.x*0.8);//设置dialog的宽度为当前手机屏幕的80% getWindow().setAttributes(p); tv_title= (TextView) findViewById(R.id.tv_title); tv_message= (TextView) findViewById(R.id.tv_message); tv_confirm= (TextView) findViewById(R.id.tv_confirm); tv_cancel= (TextView) findViewById(R.id.tv_cancel); //设置文字 if(!TextUtils.isEmpty(title)){ tv_title.setText(title); } if(!TextUtils.isEmpty(message)){ tv_message.setText(message); } if(!TextUtils.isEmpty(confirm)){ tv_confirm.setText(confirm); } if(!TextUtils.isEmpty(cancel)){ tv_cancel.setText(cancel); } //设置监听 tv_confirm.setOnClickListener(this); tv_cancel.setOnClickListener(this); } public interface IOnCanelListener{ void onCancel(DialogStyle dialog); } public interface IOnConfirmListener{ void onConfirm(DialogStyle dialog); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.tv_cancel: if(canelListener!=null){ canelListener.onCancel(this); } dismiss(); break; case R.id.tv_confirm: if(confirmListener!=null){ confirmListener.onConfirm(this); } dismiss(); break; default: break; } }} 以及Dialog的shape设置 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ffffff"/> <corners android:radius="10dp"/> </shape> activity中的监听事件 case R.id. dialog1: DialogStyle dialog=new DialogStyle(DialogListActivity.this); dialog.setTitle("提示").setMessage("确认是否删除当前内容").setCancel("取消", new DialogStyle.IOnCanelListener() { @Override public void onCancel(DialogStyle dialog) { Toast.makeText(DialogListActivity.this,"取消",Toast.LENGTH_LONG).show(); } }).setConfirm("确认", new DialogStyle.IOnConfirmListener() { @Override public void onConfirm(DialogStyle dialog) { Toast.makeText(DialogListActivity.this,"确定",Toast.LENGTH_LONG).show(); } }).show(); break; 效果图: ![图片说明](https://img-ask.csdn.net/upload/201709/20/1505893726_503231.png)

android中怎么设置一个日期的自定义对话框

在android界面中,单击EditText,弹出一个日期对话框。应该怎么弄?求大神帮忙!!!

在一个自定义的对话框中如何使用一个 list view?

我想在对话框中使用listview,我已经在xml文件中设置了listview,但是我不熟悉怎么使用它(我想用string array填充listview中的值)。 main java: package custom.dialouge.list; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; public class CustomDialougeListTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Context mContext = this; final Context context = this; Button button; button = (Button) findViewById(R.id.button01); // add button listener button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // custom dialog final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.list); dialog.setTitle("List"); // set the custom dialog components - text, image and button TextView text = (TextView) dialog.findViewById(R.id.TextView01); text.setText("Test"); Button dialogButton = (Button) dialog.findViewById(R.id.Button01); // if button is clicked, close the custom dialog dialogButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show(); } }); } } custom dialouge .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"> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:text="Back" /> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="TextView" /> <ListView android:id="@+id/listview1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/Button01" android:layout_alignParentLeft="true" android:layout_below="@+id/TextView01" > </ListView> </RelativeLayout> 在一个自定义的对话框中如何使用一个list?

百度地图自定义对话框

最新版的百度地图,怎么实现点击覆盖物弹出自定义对话框啊,包含文字图片和按钮的那种,求大神

android中能不能在对话框中再弹出一个时间选择对话框

点击条目弹出个自定义对话框!在自定义对话框中有个时间选择,点击时间选择再跳出一个时间选择对话框!我试了好多次都不能实现!要怎么做才能实现这功能?求求大神帮忙!

自定义的进度对话框显示错误

在我的应用程序里面,需要显示一个进度框,不需要标题和信息,只需要在中间显示进度动画。 ProgressDialog pd = new ProgressDialog(this); ProgressBar pb = new ProgressBar(this); pd.setContentView(R.layout.customprogressdialog); pd.show(); 执行程序后有错误提示,在 setContentView 之前要调用 request Feature 。我试着这样做但是仍得到一个错误。 为什么要在 setContentView 之前要调用 request Feature 呢?

安卓开发 自定义对话框获取输入框内容闪退

自定义了个布局作为对话框 然后点击按钮获取输入框内容 然后应用闪退了 findview返回null 求解![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/9.gif)

自定义对话框包含RecyclerView时遇到的context问题

我想做一个排行榜,就是用自定义的对话框包含一个recyclerView实现展示。以下是自定义的对话框类部分。在写到设置recyclerView的layoutManager的时候遇到问题,context不知道怎么处理,也就是“LinearLayoutManager layoutManager=new LinearLayoutManager(**this**);”的this报错,说: LinearLayoutManager(android.content.Context)in LinearLayoutManager cannot be applied to (com.example.schoolpet.MyDialog) 由于我对android的context实在还没能理解,求助各位 public class MyDialog extends Dialog { Activity context; public RecyclerView recyclerView; private View.OnClickListener mClickListener; private List<RankingList> rankingLists=new ArrayList<>(); public Context context1; public PetPage petPage; public MyDialog(Activity context) { super(context); this.context = context; } public MyDialog(Activity context, int theme, View.OnClickListener clickListener) { super(context, theme); this.context = context; this.mClickListener = clickListener; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 指定布局 this.setContentView(R.layout.ranking_list); initRankingList(); recyclerView=(RecyclerView)findViewById(R.id.rankingList_recyclerView); LinearLayoutManager layoutManager=new LinearLayoutManager(**this**); recyclerView.setLayoutManager(layoutManager); RankingListAdapter adapter=new RankingListAdapter(rankingLists); recyclerView.setAdapter(adapter); /* * 获取圣诞框的窗口对象及参数对象以修改对话框的布局设置, 可以直接调用getWindow(),表示获得这个Activity的Window * 对象,这样这可以以同样的方式改变这个Activity的属性. */ Window dialogWindow = this.getWindow(); WindowManager m = context.getWindowManager(); Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用 WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值 p.height = (int) (d.getHeight() * 0.6); // 高度设置为屏幕的0.6 p.width = (int) (d.getWidth() * 0.8); // 宽度设置为屏幕的0.8 dialogWindow.setAttributes(p); this.setCancelable(true); } private void initRankingList() { RankingList rankingList=new RankingList(1,"林辉",30,30); rankingLists.add(rankingList); RankingList rankingList2=new RankingList(2,"林辉",30,30); rankingLists.add(rankingList); RankingList rankingList3=new RankingList(3,"林辉",30,30); rankingLists.add(rankingList); RankingList rankingList4=new RankingList(4,"林辉",30,30); rankingLists.add(rankingList); } }

自定义单选列表对话框单选后item值传递问题

我自定义了一个单选列表的对话框,想要选择一行数据后点击确定按钮再对这行数据进行相应操作, 但是我发现我现在的实现是不论点击哪行传进去的itemPosition都是最初默认的0; 相应部分代码见下: ``` //自定义Dialog public class CustomDialog extends Dialog { public CustomDialog(Context context) { super(context); } public CustomDialog(Context context, int theme) { super(context, theme); } public static class Builder { private Context context; private String title; private String positiveButtonText; private String negativeButtonText; private View contentView; private ArrayList<String> mListItem; private BaseAdapter mAdapter; private int mClickedDialogEntryIndex; private DialogInterface.OnClickListener positiveButtonClickListener; private DialogInterface.OnClickListener negativeButtonClickListener; public Builder(Context context) { this.context = context; } /** * Set the Dialog title from String * * @param title * @return */ public Builder setTitle(String title) { this.title = title; return this; } public Builder setContentView(View v) { this.contentView = v; return this; } public Builder setPositiveButton(String positiveButtonText, DialogInterface.OnClickListener listener) { this.positiveButtonText = positiveButtonText; this.positiveButtonClickListener = listener; return this; } public Builder setNegativeButton(int negativeButtonText, DialogInterface.OnClickListener listener) { this.negativeButtonText = (String) context .getText(negativeButtonText); this.negativeButtonClickListener = listener; return this; } public Builder setNegativeButton(String negativeButtonText, DialogInterface.OnClickListener listener) { this.negativeButtonText = negativeButtonText; this.negativeButtonClickListener = listener; return this; } public ArrayList<String> getItems() { return mListItem; } public Builder setItems(ArrayList<String> mListItem) { this.mListItem = mListItem; return this; } public Builder setSingleChoiceItems(ArrayList<String> mPairedDevicesList, int checkedItem, final OnClickListener listener) { this.mListItem = mPairedDevicesList; this.positiveButtonClickListener = listener; this.mClickedDialogEntryIndex = checkedItem; return this; } public Builder setSingleChoiceItems(BaseAdapter adapter, int checkedItem, final OnClickListener listener) { this.mAdapter = adapter; this.positiveButtonClickListener = listener; this.mClickedDialogEntryIndex = checkedItem; return this; } public CustomDialog create() { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); // instantiate the dialog with the custom Theme final CustomDialog dialog = new CustomDialog(context,R.style.Dialog); View layout = inflater.inflate(R.layout.dialog_normal_layout, null); dialog.addContentView(layout, new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); /*if(mListItem == null){ throw new RuntimeException("Entries should not be empty"); }*/ if(mAdapter == null){ throw new RuntimeException("Entries should not be empty"); } ListView lvListItem = (ListView) layout.findViewById(R.id.lvListItem); lvListItem.setAdapter(mAdapter); //lvListItem.setAdapter(new ArrayAdapter(context, R.layout.simple_list_item_single_choice, R.id.text1, mListItem)); lvListItem.setChoiceMode(ListView.CHOICE_MODE_SINGLE); lvListItem.setItemChecked(mClickedDialogEntryIndex, true); lvListItem.setSelection(mClickedDialogEntryIndex); // set the cancel button if (negativeButtonText != null) { ((Button) layout.findViewById(R.id.cancelBtn)) .setText(negativeButtonText); if (negativeButtonClickListener != null) { ((Button) layout.findViewById(R.id.cancelBtn)) .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { negativeButtonClickListener.onClick(dialog, DialogInterface.BUTTON_NEGATIVE); } }); }else{ ((Button) layout.findViewById(R.id.cancelBtn)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); } } else { // if no confirm button just set the visibility to GONE layout.findViewById(R.id.cancelBtn).setVisibility( View.GONE); } if(positiveButtonText != null){ ((Button) layout.findViewById(R.id.connectBtn)) .setText(positiveButtonText); if (positiveButtonClickListener != null) { ((Button) layout.findViewById(R.id.connectBtn)) .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { positiveButtonClickListener.onClick(dialog, mClickedDialogEntryIndex); } }); }else{ ((Button) layout.findViewById(R.id.connectBtn)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); } }else { // if no confirm button just set the visibility to GONE layout.findViewById(R.id.connectBtn).setVisibility( View.GONE); } if (contentView != null) { // if no message set // add the contentView to the dialog body ((LinearLayout) layout.findViewById(R.id.content)) .removeAllViews(); ((LinearLayout) layout.findViewById(R.id.content)).addView( contentView, new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); } dialog.setContentView(layout); return dialog; } } } ``` ``` //调用自定义dialog final CustomDialog myDialog = new CustomDialog.Builder(getActivity()) .setTitle(getString(R.string.btdialog_title)) .setPositiveButton(getString(R.string.connect), btnListener) .setNegativeButton(getString(R.string.cancel), null) .setSingleChoiceItems(btAdapter, -1, choiceListener) .create(); myDialog.show(); ``` 其中choiceListener的实现 ``` private class ChoiceOnClickListener implements DialogInterface.OnClickListener{ private int which = 0; public void onClick(DialogInterface dialogInteface, int which){ this.which = which; } public int getWhich(){ return which; } } final ChoiceOnClickListener choiceListener = new ChoiceOnClickListener(); ``` 这里就是不管选择列表中的哪一行,那个我想要的which值一直都是初始的0,为什么呢?

android如何实现在view上跳出一个对话框后,对话框后的界面的点击就失效了那?

类似支付宝的这个效果:![图片说明](https://img-ask.csdn.net/upload/201505/21/1432175008_37498.png) 无论如何点击弹出框后面的部分,弹出框都不会消失。

自定义对话框显示不出来

继承Dialog的代码: import android.app.Dialog; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Shader; import android.graphics.SweepGradient; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager.LayoutParams; public class ColorPickerDialog extends Dialog { private final int COLOR_DIALOG_WIDTH = 300; private final int COLOR_DIALOG_HEIGHT = 300; private final int CENTER_X = COLOR_DIALOG_WIDTH / 2; private final int CENTER_Y = COLOR_DIALOG_HEIGHT / 2; private final int CENTER_RADIUS = 32; public interface OnColorChangedListener { void colorChanged(int color); } private OnColorChangedListener mListener; private int mInitialColor; public ColorPickerDialog(Context context, OnColorChangedListener listener, int initialColor) { super(context); mListener = listener; mInitialColor = initialColor; } private class ColorPickerView extends View { private Paint mPaint; private Paint mCenterPaint; private final int[] mColors; // 颜色带的起始颜色 private OnColorChangedListener mListener; private boolean mTrackingCenter; private boolean mHightlightCenter; private static final float PI = 3.1415926f; public ColorPickerView(Context c, OnColorChangedListener listener, int color) { super(c); mListener = listener; mColors = new int[] { 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00, 0xFFFFFF00, 0xFFFF0000 }; Shader s = new SweepGradient(0, 0, mColors, null); mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setShader(s); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(32); mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mCenterPaint.setColor(color); mCenterPaint.setStrokeWidth(5); } @Override protected void onDraw(Canvas canvas) { float r = CENTER_X - mPaint.getStrokeWidth() * 0.5f - 20; canvas.translate(CENTER_X, CENTER_Y); canvas.drawCircle(0, 0, r, mPaint); canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint); if(mTrackingCenter) { int c = mCenterPaint.getColor(); mCenterPaint.setStyle(Paint.Style.STROKE); if(mHightlightCenter) { mCenterPaint.setAlpha(0xFF); } else { mCenterPaint.setAlpha(0x00); } canvas.drawCircle(0, 0, CENTER_RADIUS + mCenterPaint.getStrokeWidth(), mCenterPaint); mCenterPaint.setStyle(Paint.Style.FILL); mCenterPaint.setColor(c); } } private int ave(int s, int d, float p) { return s + Math.round(p * (d - s)); } private int interpColor(int colors[], float unit) { if(unit <= 0) return colors[0]; if(unit >=1) return colors[colors.length - 1]; float p = unit * (colors.length - 1); int i = (int)p; p-=i; int c0 = colors[i]; int c1 = colors[i+1]; int a = ave(Color.alpha(c0), Color.alpha(c1), p); int r = ave(Color.red(c0), Color.red(c1), p); int g = ave(Color.green(c0), Color.green(c1), p); int b = ave(Color.blue(c0), Color.green(c1), p); return Color.argb(a,r,g,b); } @Override public boolean onTouchEvent(MotionEvent event) { float x = event.getX() - CENTER_X; float y = event.getY() - CENTER_Y; boolean inCenter = Math.sqrt(x*x+y*y) <= CENTER_RADIUS; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mTrackingCenter = inCenter; if(inCenter) { mHightlightCenter = true; invalidate(); break; } case MotionEvent.ACTION_MOVE: float angle = (float)Math.atan2(y, x); float unit = angle/(2*PI); if(unit < 0) unit+=1; mCenterPaint.setColor(interpColor(mColors, unit)); invalidate(); break; case MotionEvent.ACTION_UP: if(mTrackingCenter) { if(inCenter) { mListener.colorChanged(mCenterPaint.getColor()); } mTrackingCenter =false; invalidate(); } break; default: break; } return true; } } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); OnColorChangedListener listenr = new OnColorChangedListener() { @Override public void colorChanged(int color) { mListener.colorChanged(color); dismiss(); } }; requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(new ColorPickerView(getContext(), listenr, mInitialColor)); ColorDrawable colorDrawable = new ColorDrawable(); colorDrawable.setColor(Color.BLACK); getWindow().setBackgroundDrawable(colorDrawable); getWindow().setAttributes(new LayoutParams(COLOR_DIALOG_WIDTH,COLOR_DIALOG_HEIGHT, 0,0,0)); } } import cn.eoe.superflashlight.ColorPickerDialog.OnColorChangedListener; import cn.eoe.superflashlight.widget.HideTextView; import android.graphics.Color; import android.os.Bundle; import android.view.View; public class ColorLight extends Bulb implements OnColorChangedListener{ protected int mCurrentColorLight = Color.RED; protected HideTextView mHideTextViewColorLight; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mHideTextViewColorLight = (HideTextView)findViewById(R.id.textview_hide_color_light); } @Override public void colorChanged(int color) { mUIColorLight.setBackgroundColor(color); mCurrentColorLight = color; } public void onClick_ShowColorPicker(View view) { ColorPickerDialog dialog=new ColorPickerDialog(this, this, Color.RED); dialog.show(); } } 报了这么一条错误: ![图片说明](https://img-ask.csdn.net/upload/201511/07/1446891363_636502.png) 哪位大神怎么改啊???????????????

Android中列表视图和对话框问题

在自定义对话框里有一个id:列表视图。我想在列表中输入R.array.tones资源中的字符串。这个类继承 Activity而不是ListActivity。 使用以下代码,系统报错:toneList有一个异常的空指针。 Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.tone_dialog); dialog.setTitle(R.string.tonePromptTitle); ListView toneList = (ListView)findViewById(R.id.list); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.tones, android.R.layout.simple_list_item_1); toneList.setAdapter(adapter); dialog.show();

android我想测试一下我是不是获取到对话框值是这样做吗?

但是我不知道那个system输出到哪里去了,找不到哎 ![图片说明](https://img-ask.csdn.net/upload/202005/30/1590833155_126667.png)

Android自定义Dialog问题

<p><span style="font-size: medium;"><strong><span style="color: red;">大致如下:</span><br></strong><br>某个View中Ontouch事件<br><br>    Ontouch(){<br><br>    <span style="color: #ff0000;">new XXDialog(this).show();</span><br><br>    //代码;<br><br>    Log.d("info","xxx");    <br><br>}<br><br>    我测试过了,两个都是在一个线程中的,但是为什么<span style="color: #ff0000;"> new XXDialog(this).show();</span>还没有运行完,也就是Dialog还没有出现,下面的代码就开始运行了,Log.d能打印出信息来。。<br><br>    有没有什么方法,让dialog里操作完成再开始运行下面的代码?</span></p> <p> </p>

Android MaterialDialogs中自定义View如何更新UI

``` private void showUserIdentifyDialogs(){ new MaterialDialog.Builder(MyProfileActivity.this) .title(getString(R.string.identify_name)) .canceledOnTouchOutside(false) .customView(R.layout.dialogs_identify, true) .show(); } ``` 这种我通过.customView()方式自定义Materialdialogs内容的,Dialogs中View的响应事件中如何更新UI,我试了Handle,似乎不行。

android Dialog添加自定义view

对话框添加自定义的布局,只能显示一次,第二次就会崩溃。查了一下,也没有找到解决办法。 b=new Builder(this); v=getLayoutInflater().inflate(R.layout.item, null); b.setView(v); btShow.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { b.create().show(); } });

Android一个界面的实现(可能是Dialog)

![CSDN移动问答][1] [1]: http://img.my.csdn.net/uploads/201301/28/1359338246_7518.png 这是一个Android文件管理器对某个文件复制以后的界面,想问底下的粘贴、取消按钮是怎么做的,如果是Dialog,怎么让window内外都能响应操作,不用给代码的,求点拨就好~谢谢了

android 点击按钮弹出一个dialog,“登录中...”,如何实现后面三个点的跳动效果

android开发中 点击登录按钮后弹出一个dialog(自定义),显示“登录中...”,如何实现这三个点“...”跳动的动画效果,就是和平常见的那种跳动,求哪位大神帮帮忙!

关于Alertdialog.对话框实现单选功能之后的跳转

1.AlertDialog.builder.setSingleChoiceItems (items4, 0, new DialogInterface.OnClickListener () //添加一个单选框 public void onClick(DialogInterface dialogInterface, int i ) { builder.setPositiveButton ("确定", new DialogInterface.OnClickListener () //添加一个确定按钮 public void onClick(DialogInterface dialogInterface, int i ) { 2.用alertdialog怎么实现点击一个单选,获取他的下标,点击确定执行之前选定的选项对应的功能 3.目前问题是点击确定之后i变成-1了

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

计算机组成原理实验教程

西北工业大学计算机组成原理实验课唐都仪器实验帮助,同实验指导书。分为运算器,存储器,控制器,模型计算机,输入输出系统5个章节

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

winfrom中嵌套html,跟html的交互

winfrom中嵌套html,跟html的交互,源码就在里面一看就懂,很简单

玩转Python-Python3基础入门

总课时80+,提供源码和相关资料 本课程从Python零基础到纯Python项目实战。内容详细,案例丰富,覆盖了Python知识的方方面面,学完后不仅对Python知识有个系统化的了解,让你从Python小白变编程大牛! 课程包含: 1.python安装 2.变量、数据类型和运算符 3.选择结构 4.循环结构 5.函数和模块 6.文件读写 7.了解面向对象 8.异常处理

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

基于VHDL的16位ALU简易设计

基于VHDL的16位ALU简易设计,可完成基本的加减、带进位加减、或、与等运算。

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

利用Verilog实现数字秒表(基本逻辑设计分频器练习)

设置复位开关。当按下复位开关时,秒表清零并做好计时准备。在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。 设置启/停开关。当按下启/停开关后,将

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

计算机操作系统 第三版.pdf

计算机操作系统 第三版 本书全面介绍了计算机系统中的一个重要软件——操作系统(OS),本书是第三版,对2001年出版的修订版的各章内容均作了较多的修改,基本上能反映当前操作系统发展的现状,但章节名称基

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

SEIR课程设计源码与相关城市数据.rar

SEIR结合学报与之前博客结合所做的一些改进,选择其中三个城市进行拟合仿真SEIR结合学报与之前博客结合所做的一些改进,选择其中三个城市进行拟合仿真SEIR结合学报与之前博客结合所做的一些改进,选择其

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

定量遥感中文版 梁顺林著 范闻捷译

这是梁顺林的定量遥感的中文版,由范闻捷等翻译的,是电子版PDF,解决了大家看英文费时费事的问题,希望大家下载看看,一定会有帮助的

GIS程序设计教程 基于ArcGIS Engine的C#开发实例

张丰,杜震洪,刘仁义编著.GIS程序设计教程 基于ArcGIS Engine的C#开发实例.浙江大学出版社,2012.05

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

去除异常值matlab程序

数据预处理中去除异常值的程序,matlab写成

用verilog HDL语言编写的秒表

在秒表设计中,分模块书写。用在七段数码管上显示。输入频率是1KHZ.可以显示百分秒,秒,分。如要显示小时,只需修改leds里的代码和主模块代码。改程序以通过硬件电路验证。完全正确。

[透视java——反编译、修补和逆向工程技术]源代码

源代码。

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问