所以我的应用程序中有一个按钮和一个edittext.当我单击按钮并在edittext中写入内容时,textview会发生变化.除了一件事,它一切正常.我必须单击按钮两次才能使其工作(仅在我第一次打开活动时).我打开活动后的第一次按下按钮,没有任何反应,之后它按预期工作.
我已经对此进行了研究,据我所知,导致问题的是焦点,但我尝试了一些事情,没有任何效果.
按钮XML代码:
<Button
android:id="@+id/submitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText1"
android:layout_alignBottom="@+id/editText1"
android:layout_alignLeft="@+id/checkBox25"
android:text="@string/addMaterial"
android:onClick="submitQuantityButton" >
</Button>
Run Code Online (Sandbox Code Playgroud)
Edittext XML代码:
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/spinner1"
android:ems="3"
android:inputType="number"
android:maxLength="3" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
我尝试将android:focusableInTouchMode ="false"添加到按钮XML,我也尝试将requestFocus添加到按钮XML,但它仍然不起作用.我还从edittext中删除了requestFocus,但它不起作用.我的想法还没有尝试.
onClick方法:
public void submitQuantityButton (View v){
Button submitButton = (Button)findViewById(R.id.submitButton);
final Spinner sItems = (Spinner)findViewById(R.id.spinner1);
final Context context = this;
final CheckBox cb4 = (CheckBox) findViewById(R.id.checkBox4);
final CheckBox cb5 = (CheckBox) findViewById(R.id.checkBox5);
final CheckBox cb33 = (CheckBox) findViewById(R.id.checkBox33);
final CheckBox cb30 = (CheckBox) findViewById(R.id.checkBox30);
final CheckBox cb6 = (CheckBox) findViewById(R.id.checkBox6);
final …Run Code Online (Sandbox Code Playgroud) 我试图将Parcelable数据从一个意图传递到另一个意图,这是我得到的错误:
08-31 14:12:22.709: E/AndroidRuntime(9931): FATAL EXCEPTION: main
08-31 14:12:22.709: E/AndroidRuntime(9931): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.matejsoftware.cardscoretracker/com.matejsoftware.cardscoretracker.Igra}: android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class com.matejsoftware.cardscoretracker.Novaigra$Player
Run Code Online (Sandbox Code Playgroud)
问题是:我确实有Parcelable.Creator对象.我将在下面发布整个Parcelable代码:
public class Player implements Parcelable{
String name;
int score;
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(score);
}
public Player(Parcel source){
score = source.readInt();
name = source.readString();
}
public Player(int score, String name){
this.score = score; …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中实现了一个按钮,使用以下代码清除所有共享首选项:
context.getSharedPreferences("bifrostPrefs", 0).edit().clear().commit();
Run Code Online (Sandbox Code Playgroud)
现在的问题是,无论何时我使用按钮,我都需要退出活动并重新打开它以查看结果.我尝试通过简单地使用此代码重新打开活动按钮来解决此问题:
Intent reOpen = new Intent (Bifrost.this, Bifrost.class);
startActivity(reOpen);
Run Code Online (Sandbox Code Playgroud)
我的想法似乎很聪明,直到我注意到如果我重新打开活动,我需要按两次后退按钮才能返回主要活动.所以我做了一些研究并发现了这段代码:
finish();
startActivity(getIntent());
Run Code Online (Sandbox Code Playgroud)
这现在工作正常,活动刷新,然后我只需要单击后退按钮一次.但有没有另一种刷新活动的方法,而不会"闪烁"进出?如您所知,每次打开新活动时,它都会闪烁,因此应用程序会滞后一秒钟.有没有办法通过绕过这个来刷新活动?
我有一个Java类,这是一个例子:
public class Car {
private int fuelType;
private Date made;
private String name;
.
.
. // and so on
Run Code Online (Sandbox Code Playgroud)
现在让我们说我有两个车对象,我想比较它们的所有变量是否相等.
现在,我通过重写方法解决了这个问题,equals(Object o)并检查两个对象中的所有变量是否匹配.
这里的问题是,如果我有20个类,我将不得不覆盖它们equals(Object o)中的每一个.
有没有办法创建某种通用方法,可以比较我传递给它的两个对象中的任何一个,并让我知道它们是否匹配每个变量?
所以我目前正在帮助开发一个应用程序,我一直在问,以测试它在尽可能多的设备(虚拟/非虚)地,然后使之调整到尽可能多的不同的屏幕尺寸,甚至平板电脑成为可能.
现在我不确定从哪里开始,因为我不知道Eclipse中的Android虚拟设备管理器是否具有所有可能的屏幕组合.
那么,设置和运行Eclipse中的所有21个虚拟设备是否可以完成这项工作?或者我还应该尝试做些什么吗?任何类型的信息都会有所帮助,谢谢!
所以我一直在努力将现有的项目导入eclipse几天,我终于弄明白了.我导入了所有需要的库项目,它工作正常,但还有一个错误.
图书馆项目'PortraitQR'旁边有一个红色的'x'标记,上面写着'无法解析目标'android-8''.
我试图编译应用程序,但它崩溃了,这是logcat文件:
07-16 18:24:14.296: E/AndroidRuntime(9673): FATAL EXCEPTION: main
07-16 18:24:14.296: E/AndroidRuntime(9673): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{si.dvanadva.evanturist/si.dvanadva.evanturist.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-2.apk
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.os.Looper.loop(Looper.java:137)
07-16 18:24:14.296: E/AndroidRuntime(9673): at android.app.ActivityThread.main(ActivityThread.java:5041)
07-16 18:24:14.296: E/AndroidRuntime(9673): at java.lang.reflect.Method.invokeNative(Native Method)
07-16 18:24:14.296: E/AndroidRuntime(9673): at java.lang.reflect.Method.invoke(Method.java:511)
07-16 18:24:14.296: E/AndroidRuntime(9673): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-16 18:24:14.296: E/AndroidRuntime(9673): …Run Code Online (Sandbox Code Playgroud) 我的Firebase项目上有一个应用程序,我正在尝试链接到Fabric.
当我进入Fabric - > Firebase - >设置集成并选择应用程序时,它会显示"已经链接".
但是,如果我去Firebase控制台 - >项目设置 - >集成 - > Fabric,我看不到它在那里链接.我确实看到一些其他应用程序链接,但不是我现在想要链接的那个.
知道为什么会发生这种情况吗?如果我有一个旧的Firebase < - > Fabric链接,我至少应该在这里看到它并能够删除它,但那里什么也没有.那么,为什么Fabric认为我的应用已经链接了,显然不是这样?
我正在尝试从Vector Asset Studio中的Material Vector包导入一些图标.
但他们带有填充物.
为什么会发生这种情况,如何将其删除?
这是不方便的,因为这意味着如果我希望我的图标是XML格式的17dp x 17dp,那么我需要设置它超过17x17以弥补填充.
我注意到一个奇怪的UITableView行为,似乎只出现在iOS 11设备上.
在插入新行之后(更改数据源然后调用reloadData,UITableView在调用scrollToRow或scrollToBottom()方法时不会滚动到该行).
在iOS 10或更早版本上执行某些操作时,它可以完美地工作,并且UITable会像它应该的那样滚动.
谢谢!