我想要一个AlertDialog构建器,它只有一个按钮,表示OK或Done或者其他东西,而不是默认的yes和no.可以使用标准的AlertDialog完成,还是我必须使用其他东西?
我正在尝试按照Android开发人员网站上的教程制作自定义对话框,但每次尝试显示对话框时都会崩溃.这是我的代码:
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");
dialog.show();
Run Code Online (Sandbox Code Playgroud)
这是我的布局XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/layout_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/btnConfirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add text"
android:layout_below="@+id/txtNewText"
android:layout_alignParentLeft="true">
</Button>
<EditText
android:id="@+id/txtNewText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</EditText>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 所以我试图将SQLite数据库中的值转换为游标,然后选择一个随机值.我可以像通常在方法中那样使用getString()读取游标,但是在它返回游标后它无法正常工作.我不知道为什么..这是我从数据库中获取光标的方法.它似乎工作正常.
public Cursor getRandomText(String Rating)
{
Cursor cursor = myDatabase.query("Elec0RandTexts", new String[] {"Message"}, "Rating=?",
new String[]{Rating}, null, null, null);
cursor.moveToFirst();
cursor.close();
return cursor;
}
Run Code Online (Sandbox Code Playgroud)
这是我返回后读取光标的代码.
Cursor result = dbh.getRandomText(Rating);
result.moveToFirst();
int RandText = rand.nextInt(result.getCount());
result.moveToPosition(RandText);
Toast.makeText(getApplicationContext(), "" + result.getString(RandText), Toast.LENGTH_LONG).show();
result.close();
Run Code Online (Sandbox Code Playgroud)
我可能犯了一个愚蠢的错误而没有意识到这一点,但我无法弄清楚这一点.
谢谢,
〜Elec0
我正在尝试创建一个应用程序,它将使用AutoCompleteTextView并根据您键入的内容从您的联系人中读取,因此它不必处理大型数组.不幸的是,ArrayAdapter似乎并不喜欢我.这是我的代码:
private void updateAdapter(String[] nC)
{
autoAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, nC);
autoText.setAdapter(autoAdapter);
}
Run Code Online (Sandbox Code Playgroud)
这引发了这个:
WARN/Filter(16767): An exception occured during performFiltering()!
java.lang.NullPointerException
04-21 11:23:48.819: WARN/Filter(16190):
at android.widget.ArrayAdapter$ArrayFilter.performFiltering(ArrayAdapter.java:437)
04-21 11:23:48.819: WARN/Filter(16190):
at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
04-21 11:23:48.819: WARN/Filter(16190):
at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 11:23:48.819: WARN/Filter(16190):
at android.os.Looper.loop(Looper.java:144)
04-21 11:23:48.819: WARN/Filter(16190):
at android.os.HandlerThread.run(HandlerThread.java:60)
Run Code Online (Sandbox Code Playgroud)
我真的不知道这里发生了什么.nC变量保存要放入AutoComplete的联系人姓名,这不是问题所在.
我有一个我在Windows 7(64位)上编写的程序,可以在我的计算机上正确编译和运行.
但在其他计算机上(特别是在Windows 8(64位)上),该程序无法运行.当我尝试运行它时,它说我的程序已停止工作,它崩溃了.
我应该补充一下,两台计算机都安装了.Net版本4.5.
但是,如果我删除了我在表单上添加的所有组件(我使用的是Visual Studio 2012 Express),它运行得很好.但我必须删除所有组件.仅删除其中一些不起作用.
有没有人听说过这种情况?
我正在使用Windows 7上的Eclipse中的粒子引擎,我遇到了一个我从未见过的问题.我的代码中有这个:
float start = startPosition.getY();
p.position.addTo(p.moveVector);
float end = startPosition.getY();
if(start != end){
System.out.println("hit");
}
Run Code Online (Sandbox Code Playgroud)
它经常打印.我这样做的原因是因为startPosition正在改变,它搞砸了我的程序.
我也进入调试器并查看打印机命中时的值,我得到了这个结果,所有变量都在位置和moveVector:1.0E-5我不知道该怎么做.
这是我的代码.
粒子发射器http://tinyurl.com/9ahwodx
矢量3f http://tinyurl.com/9do6v2k
有问题的代码位于ParticleEmitter的底部.
如果你想看到或知道别的什么让我知道,但我认为这是所有相关的信息.
所以我知道有可能以某种方式在 Java 中重新定义一个基本的 int,比如使 1 = 2,这样如果你做 int x = 1+2,那么 x 将等于 4。
有谁知道这样做的语法?