小编mmB*_*mBs的帖子

编辑文本字段为空时禁用按钮

我有两个文本字段和一个Button.我想禁用Button,除非两个EditText-Fields都不为空.我在stackoverflow上尝试了很多解决方案,但它们不起作用.这是我的代码:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class RegisterActivity extends Activity {

    private EditText editText1;
    private EditText editText2;

    //TextWatcher
    private TextWatcher textWatcher = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3)
       {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
            checkFieldsForEmptyValues();
        }

        @Override
        public void afterTextChanged(Editable editable) {
        }
    };


    @Override
    protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-edittext

15
推荐指数
2
解决办法
2万
查看次数

onKeyDown()问题

我想创建一个照片/视频捕获应用程序.

我创建了一个CaptureView扩展SurfaceView并放在主窗体中的类.

主窗体的活动具有onCreateOptionsMenu()创建菜单的方法.菜单工作正常,但后来我尝试实现一个方法onKeyDown:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if(event.getAction() == KeyEvent.ACTION_DOWN) {
        switch(keyCode) {
        case KeyEvent.KEYCODE_CAMERA:
            videoPreview.TakePicture();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

该菜单不再出现,并且该方法不会捕获onKeyDown事件.

有谁知道这个问题可能是什么原因?

android onkeydown android-view

13
推荐指数
3
解决办法
5万
查看次数

后台服务需要在服务器上发送GPS位置

我的Android应用程序有问题.我需要一个应用程序,每10分钟将后台GPS位置发送到服务器(这里我有WCF服务工作).应用程序即使关闭也需要发送数据.所以我创建了一个服务(用于测试目的),它在服务器上发送给我时间.但当我插入我的代码以获取我的服务中的GPS位置时,一切都失败了(意外停止).

我已经知道你需要放一些接收器或其他东西,但到目前为止还没有任何工作.如果有人能帮助我,我会很高兴.

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.biromatik.GPS"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="4" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".ETMGPSServiceActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:name=".MyApplication" >
    <service
        android:enabled="true"
        android:name=".MonitorService" >
    </service>
    <receiver
        android:enabled="true"
        android:name=".LocationReceiver" >
        <intent-filter >
            <action android:name="com.biromatik.intent.action.LOCATION" />
        </intent-filter>
    </receiver>
</application>


     <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />




</manifest>
Run Code Online (Sandbox Code Playgroud)

service gps android timer

13
推荐指数
1
解决办法
4万
查看次数

如何使用与文本不同的颜色为TextView中的文本加下划线?

我知道如何在textview中为文本加下划线.但是如何用不同颜色强调文字?下划线可以通过以下方式完成:

TextView t = (TextView) findViewById(R.id.textview);
t.setPaintFlags(t.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
t.setText("Underline Text");
Run Code Online (Sandbox Code Playgroud)

假设我的textcolor是黑色的,我想用蓝色加下划线,怎么做?提前致谢.

android textview android-layout

13
推荐指数
4
解决办法
2万
查看次数

如何知道Android中的应用程序是否启用了通知?

我有一个ListView,其中包含已安装的应用程序列表,对于每个应用程序,我需要知道是否启用了通知.目前我正在使用下面的代码来了解是否启用了通知:

appOpsClass = Class.forName(AppOpsManager.class.getName());
Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE, String.class);
Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION);
int value = (int)opPostNotificationValue.get(Integer.class);
return ((int)checkOpNoThrowMethod.invoke(mAppOps,value, appUID, appPackage) == AppOpsManager.MODE_ALLOWED);
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

引起:java.lang.SecurityException:uid 10062没有android.permission.UPDATE_APP_OPS_STATS.W/System.err:在android.os.Parcel.readException(Parcel.java:1683)W/System.err:在android.os.Parcel.readException(Parcel.java:1636)W/System.err:at com .android.internal.app.IAppOpsService $存根$ Proxy.checkOperation(IAppOpsService.java:343)

我已经包括在内了

<uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS"/>
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的错误.使用什么apis我可以得到它是否被阻止的值

使用什么apis可以获得这些值?

android android-notifications android-settings

13
推荐指数
2
解决办法
2435
查看次数

ViewPager片段娱乐,恢复但不可见

我有一个ViewPager + FragmentPageAdapter的问题.

场景: 我在片段A中有一个活动.片段A有一个带有片段B1和片段B2的ViewPager.B1 e B2是相同的类,但不同的数据作为参数.

问题: 在创建时一切都很好.但是当应用程序进入后台并且进程被android杀死时,尝试恢复最后一个状态,再次启动应用程序,片段B1 e B2在前景中不可见,而片段A是.看起来有点奇怪的是片段B1和B2在片段A的ChildFragmentManager中,并且由于onStart()和onResume()被调用(由Log看到)而被恢复.此外,寻呼机恢复两页,但空或更好,没有任何可见.

如果我很清楚FragmentPagerAdapter是如何工作的,那么它应该负责管理自己的片段以及如何重新创建片段.此外,为了强制执行这一点,如果已经存在具有指定标记的该位置的片段,则FragmentPagerAdapter在从后台返回时不会调用getItem(int position).

...那么为什么我看不到片段B1 e B2,只有传呼机空了?

这是我的示例代码.

FragmentA

@Override
    public void onStart() {
        super.onStart();
        populateViewPager();
    }

    private void populateViewPager() {
        pager.setAdapter(new MyFragmentPageAdapter(getChildFragmentManager()));
        indicator.setViewPager(pager);
        indicator.notifyDataSetChanged();
    }
Run Code Online (Sandbox Code Playgroud)

FragmentPagerAdapter

public class MyFragmentPageAdapter extends FragmentPagerAdapter {


    public MyFragmentPageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return FragmentB.newInstance(position);
    }

    @Override
    public int getCount() {
        return 2; 
    }

    @Override
    public CharSequence getPageTitle(int position) {
        String title = "";
        if (position == 0)
            title …
Run Code Online (Sandbox Code Playgroud)

android android-adapter android-fragments android-viewpager

11
推荐指数
2
解决办法
3536
查看次数

收集的内容从未在Intellij IDEA中更新警告

我创建了一个简单的Counter类:

public class Counter<T> extends HashMap<T, Long> {
    public Counter() {
    }

    public void increase(T key) {
        put(key, getOrDefault(key, 0l) + 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我调用increase()方法,然后使用Map方法访问数据,例如

  Counter<Integer> counter = new Counter<>();
  for (Integer i: ... some collection ...)
      counter.increase(i);
Run Code Online (Sandbox Code Playgroud)

Intellij counter用警告颜色突出显示(最后一行代码片段)的声明,工具提示消息说明

查询集合的内容,但从未更新.

显然我可以忽略这个警告,但有没有办法说服Intellij我的代码没有任何问题?

我正在使用14.0.2社区版.

java intellij-idea

11
推荐指数
2
解决办法
1万
查看次数

Rxjava AndroidSchedulers.mainThread()意味着UI线程?

我的代码是这样的:

.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
    adapter.notifyDataSetChanged()
})
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:只有创建视图层次结构的原始线程才能触及其视图. 所以我把它改成:

.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
        runOnUiThread(Runnable {
            adapter.notifyDataSetChanged()
 })
 }
Run Code Online (Sandbox Code Playgroud)

这很有道理.所以我很困惑.我曾经想过.observeOn(AndroidSchedulers.mainThread())订阅块中的代码在ui线程上运行,但我是如何得到这个错误的?

android rx-java

11
推荐指数
1
解决办法
3440
查看次数

当项目非常有限时,在scrollview中有什么更好,listview或linearlayout?

我将有一个屏幕,其中将有11个图像一个在另一个之下,因此列表每行只有一个图像.现在,我对使用自定义适配器的listview或scrollview包含的linearlayout感到困惑?什么会更好?

android android-listview android-linearlayout android-scrollview

10
推荐指数
1
解决办法
6797
查看次数

高度为一半fill_parent xml

如何处理xml LinearLayout高度的一半fill_parent

<LinearLayout android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:weightSum="1">
      <ImageView android:layout_height="fill_parent"
                 android:layout_width="0dp"
                 android:layout_weight="0.5"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想做一些与身高相似的事情.

xml height android android-linearlayout

10
推荐指数
1
解决办法
2万
查看次数