我有一个对话框,其中包含两个edittextbox.
当我填写字段并单击提交按钮时,我需要将值保存在数据库中.我试图获取在字段中输入的值,但引发了空指针异常.
我的代码如下
View v = getLayoutInflater().inflate(R.layout.sample, null);
new AlertDialog.Builder(Context)
.setTitle(R.string.Details)
.setView(v)
.setNegativeButton(R.string.Cancel,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
}
})
.setPositiveButton(R.string.Submit,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
final EditText txtname=(EditText)findViewById(R.id.editText1);
final EditText txtnumber=(EditText)findViewById(R.id.editText2);
Save(txtname.getText().toString(),txtnumber.getText().toString());
}
Run Code Online (Sandbox Code Playgroud)
当我调试并检查时,它将txtname和txtnumber值显示为空.我哪里出错了?我正在使用布局来显示字段
布局是,
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Name" />
<EditText
android:id="@+id/editText1"
android:layout_width="195dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:ems="10"
android:hint="FirstName LastName"
android:inputType="textPersonName" />
</TableRow> …
Run Code Online (Sandbox Code Playgroud) 假设我们有一个enum Identifier {Name, Id, Number}
,我们希望为用户提供一个消息,如对话框,每个可能的Identifier
值和Ok按钮只有复选框.在对话框确认中获取a List<Identifier>
(如果未选中任何复选框,则为空).如何用winforms做这么简单的事情?
在调试C#Consoleproject时,大约每小时一次,我得到以下错误,令人难以置信的20-30秒:
奇怪的是,源文件存储在本地SSD硬盘驱动器上....这是一个工作流程破坏性的完全不可接受的麻烦.谷歌搜索没有任何意义,你知道如何摆脱这个吗?
我正在尝试AlertDialog
Android中的自定义,偶然发现Exception
我不明白.
我AlertDialog
在res/layout/dialog_resident_next_dates.xml中定义了自定义
<TextView
android:id="@+id/custom_dialog_title"
style="@style/customdialog_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<View
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="@color/grey3"/>
<TextView
android:id="@+id/custom_dialog_content"
style="@style/customdialog_paragraph"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
在触发的方法中,AlertDialog
实现了以下内容
public void onClickResidentDates(View v){
String datesOliva = "a (...) long (...) string";
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setCustomTitle(getLayoutInflater().inflate(R.layout.dialog_resident_next_dates, null));
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
TextView dialogContent = (TextView) findViewById(R.id.custom_dialog_content);
dialogContent.setText(datesOliva);
}
Run Code Online (Sandbox Code Playgroud)
这NullPointerException
更准确地导致了在线364
dialogContent.setText(datesOliva);
Run Code Online (Sandbox Code Playgroud)
为什么Exception
抛出这个?布局正确充气(使用空View
s 测试),TextView应该存在.有没有问题,在这个方法中,Dialog …
java android dialog nullpointerexception android-custom-view
在我的Windows窗体应用程序中,我有两种形式,mainForm
和recordForm
.在主窗体中有一些文本框和按钮,点击特定按钮我想显示recordForm
.
但我希望当第二个表单打开时,用户不能执行任何操作(如填充文本框等),直到第二个表单关闭.我试过这个:
private void tsCustomer_Click(object sender, EventArgs e)
{
recordForm customers = new recordForm();
customers.Show();
}
Run Code Online (Sandbox Code Playgroud)
tsCustomer是按钮mainForm
.我怎样才能做到这一点?
我正在实现一个自定义对话框,但在活动中,我遇到了麻烦.这是代码:
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.buttonDialog);
/*Add button listener*/
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*Custom dialog*/
final Dialog dialog = new Dialog(this);
dialog.setTitle("Cerrar App");
dialog.setContentView(R.layout.custom_dialog);
//...
Run Code Online (Sandbox Code Playgroud)
在行中final Dialog dialog = new Dialog(this);
它给我一个错误,上面写着:构造函数Dialog(new View.OnClickListener(){})是未定义的.
我做错了什么?
我是新的Android开发人员,所以我需要你的帮助.我正在创建一个应用程序,其中按钮操作打开一个对话框.对话框有一个按钮.我可以关注按钮动作吗?请给出一些好的方法.谢谢
我有一个数据表页面(Java + JSF + PRIMEFACES + Oracle GlassFish Server 3.1.2.2 + MYSQL)。当我在页面中指定行并单击“ 显示”按钮时,您可以在弹出窗口中看到以下内容:
当我尝试编辑行时,我单击“ 编辑”。
问题从这里开始,当我单击复选标记时,该行消失了:
我在服务器日志中看到:
ThreadName = Thread-2; | javax.faces.model.NoRowAvailableException javax.faces.model.NoRowAvailableException javax.faces.model.ListDataModel.getRowData(ListDataModel.java:150)在javax.faces.component.UIData.getRowData(UIData .java:371),位于org.primefaces.component.datatable.DataTable.queueEvent(DataTable.java:620),位于org.primefaces.component.behavior.ajax.AjaxBehaviorRenderer.decode(AjaxBehaviorRenderer.java:44)。 org.primefaces.renderkit.CoreRenderer.decodeBehaviors(CoreRenderer.java:395)的component.behavior.ClientBehaviorBase.decode(ClientBehaviorBase.java:132)在org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:64) org.primefaces处的javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)处。com.sun.faces.context.PartialViewContextImpl $ PhaseAwareVisitCallback.visit(Component.api.UIData.processDecodes(UIData.java:232)在com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialViewContextImpl.java:506)在org.primefaces.component.api.UIData.visitTree(UIData.java:675)在javax.faces.component.UIComponent.visitTree(UIComponent.java:1601)的java.faces.component.UIComponent上的PartialVisitContext.java:183) .visitTree(UIComponent.java:1601)在javax.faces.component.UIForm.visitTree(UIForm.java:344)在javax.faces.component.UIComponent.visitTree(UIComponent.java:1601)在com.sun.faces。 context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:376)位于com.sun.faces.context.PartialViewContextImpl。org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)为org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)为javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:931)为com.sun.faces.lifecycle位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)位于com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)处的.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)处的javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) java:281),位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)在org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)在org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)在org.apache.catalina.core.StandardHostValve com的org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)的.invoke(StandardHostValve.java:161)。位于com.sun的sun.enterprise.v3.services.impl.ContainerMapper $ AdapterCallable.call(ContainerMapper.java:317)位于com.sun的sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) com.sun上的grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)com.sun上的grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)。com.sun.grizzly的grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)的grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)在com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)在com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)在com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java :79)在com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)在com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)在com.sun.grizzly.ContextTask.run(ContextTask。 java:71),网址为com.sun.grizzly.util.AbstractThreadPool $ Worker。doWork(AbstractThreadPool.java:532)在com.sun.grizzly.util.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:513)在java.lang.Thread.run(Thread.java:724)|#]
这是我的页面:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
>
<h:head>
<title>Teszt</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
</h:head>
<ui:debug />
<h:form id="form">
<p:fieldset legend="Teszt:">
<p:dataTable id="dataTableTeszt" value="#{TesztBean.values}" var="c" paginator="true" rows="25" editable="true" filteredValue="#{TesztBeanBean.filteredOsszesito}" scrollable="true" scrollWidth="1500" scrollHeight="550" …
Run Code Online (Sandbox Code Playgroud) 我从图像和其他一些视图创建了一个自定义对话框(不,这不是对话框对象)。我与此自定义对话框(再次是布局)的冲突在于它周围的区域关闭了自定义对话框。有没有办法使外部区域不可点击?
我尝试用全屏frameLayout和透明背景包装对话框视图,然后以编程方式将frame属性设置为setClickable(false)。
framelayout.setClickable(false);
Run Code Online (Sandbox Code Playgroud)
这什么也没做。它仍然关闭对话框。还有其他建议吗?先感谢您。
这是我的代码:
//used to disable background from closing the custom dialog
private FrameLayout fl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.layout_dialog);
btnContinue = (Button) findViewById(R.id.btnContinue);
btnContinue.setOnClickListener(this);
fl.setClickable(false); //background suppose to lock
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btnContinue:
finish();
}
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我也有另一个广播类
public class DialogManagerBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(IdeaPlayInterfaceApplication.isActivityVisible()){
Intent i=new Intent(context,CustomDialogActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
} …
Run Code Online (Sandbox Code Playgroud) 我正在使用Sherlock Fragment,如果应用程序在最小化再次打开应用程序时打开对话框,我就会崩溃.
以下是我的例外情况:
Stack trace java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1360)
android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1378)
android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:200)
android.support.v4.app.DialogFragment.dismiss(DialogFragment.java:166)
com.alts.asterride.BookingDialogFragment$4$1.run(BookingDialogFragment.java:325)
android.os.Handler.handleCallback(Handler.java:730)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:5493)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:525)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我正在使用ft.commitAllowingStateLoss(); comit片段.
这是我的预订对话框代码
mBookingDialogFragment.dismiss();
CabBookingFlow cabBookingFlow = new CabBookingFlow();
cabBookingFlow.setCancelable(false);
cabBookingFlow.show();
Run Code Online (Sandbox Code Playgroud) dialog ×10
android ×6
c# ×2
java ×2
winforms ×2
.net ×1
jsf-2 ×1
mysql ×1
primefaces ×1
reflection ×1