我尝试开发一个小android应用程序,并显示一个对话框警报,其中只包含一个edittext,以填充自定义内容作为下一个链接
创建自定义布局我有这个代码,但它不工作
public class TraceDialogFragment extends DialogFragment {
TraceDialogListener mListener;
public interface TraceDialogListener {
public void onDialogPositiveClick(DialogFragment dialog);
public void onDialogNegativeClick(DialogFragment dialog);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.activity_trace, null))
.setIcon(R.drawable.ic_action_locate)
.setTitle(R.string.trace_title)
// Add action buttons
.setPositiveButton(R.string.btn_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
mListener.onDialogPositiveClick(TraceDialogFragment.this);
}
})
.setNegativeButton(R.string.btn_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onDialogNegativeClick(TraceDialogFragment.this);
}
});
return builder.create();
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try{
mListener = (TraceDialogListener) context;
}catch (ClassCastException e){
throw new ClassCastException(context.toString() + " must implement TraceDialogListener");
}
}
}
但是代码循环运行
LayoutInflater inflater = getActivity().getLayoutInflater();
我不明白
在我班上的主要活动
我有这个密码
class MainActivity extends AppCompatActivity implements TraceDialogFragment.TraceDialogListener
DialogFragment traceDialog = new TraceDialogFragment();
traceDialog.show(getSupportFragmentManager(),"TraceDialogFragment");
这是我的风格。xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
我的logcat是下一个
11-07 11:10:50.015 23570-23570/E/AndroidRuntime: FATAL EXCEPTION: main
Process: , PID: 23570
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
谢谢你的帮助,
我通过更改名称空间来解决问题
导入android.support.v7.app.AlertDialog;导入android.app.AlertDialog;
我不是什么都懂。。。。但它是有效的
>
只需在活动或
Oncreate或OnCreateView中的片段中调用此
方法
public void inflateDialogue() {
LayoutInflater layoutInflater=SelectUsers.this.getLayoutInflater();
final View view = layoutInflater.inflate(R.layout.dialog_group_name, null);
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Group_name");
alertDialog.setCancelable(false);
edt_groupName = (EditText) view.findViewById(R.id.edt_groupName);
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
str_getTextFrom=edt_groupName.getText().toString();
//here we have to call Database firebase
dialog.dismiss();
}
});
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.setView(view);
alertDialog.show();
}
>
在
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/edt_groupName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:paddingLeft="@dimen/_10dp"
android:paddingRight="@dimen/_10dp"
android:textSize="@dimen/textSize"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorText"
android:hint="@string/enter_groupName"
android:inputType="textCapWords"
android:singleLine="true"
android:layout_marginTop="@dimen/_10dp"
android:background="@null"
android:maxLines="1"
android:scrollbars="vertical" />
</LinearLayout>
我正在使用Lollipop的新功能,比如coloraccent,colorPrimary,用于Lollipop制作前的设备。 styles.xml 现在我想为我的文本视图、编辑文本和按钮创建一个自定义字体。在样式中,我使用彩色口音作为白色。所以编辑文本的焦点应该是白色。查看下图以获取默认编辑文本焦点。这很好。 但每当我创建自定义字体edittext时,焦点行为就不同了。它没有显示白色。相反,它显示
本文向大家介绍Android 自定义EditText输入框带清空按钮,包括了Android 自定义EditText输入框带清空按钮的使用技巧和注意事项,需要的朋友参考一下 Android 自定义EditText输入框带清空按钮 当用户输入字符后 EditText会自动在输入框的内部右侧出现删除按钮 重写EditText达到简化布局的效果 效果图: 继承EditText XML布局: XML中的属性
问题内容: 我正在使用.NET的HttpClient向WebAPI发出请求,该WebAPI返回一些JSON数据,该数据需要在客户端进行一些自定义反序列化。为此,我已经完成了自己的工作,但是我不知道如何让该方法处理转换器的存在。 通过使用读取响应,然后将该字符串传递给,我已经解决了我的问题,但是似乎应该有一个更优雅的解决方案。 这是我的代码: 这是我所能做到的最好的,还是有一些更优雅的方法? 如果需
我们正在使用spring和Spring-Security-3.2。最近,我们向RESTAPI添加了注释@preauthorize(以前是基于URL的)。 我们已经有了用-@ControllerAdvice和自定义的PermissionEvaluator注释的全局异常处理程序,除了错误消息之外,其他一切都正常工作。 是否可能抛出一个包含权限名称的异常,所以最终的错误消息应该是“Access Is d
我尝试用自定义控制器制作一个自定义组件。自定义组件已经显示在应用程序上,但我未能向其添加属性。 项目结构: null 布尔马尔科 完全错误: 原因:java.lang.nullPointerException:无法调用“javafx.scene.image.imageeview.setimage(javafx.scene.image.image)”,因为“controller.topbarbtn.
本文向大家介绍Android EditText自定义样式的方法,包括了Android EditText自定义样式的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android EditText自定义样式的方法。分享给大家供大家参考,具体如下: 1.去掉边框 EditText的background属性设置为@null就搞定了:android:background="@null" sty