小编And*_*oid的帖子

Android文字覆盖图像

我有一个带有图像的imageView,在我要放置文本的图像上.我怎样才能做到这一点?

android android-image android-imageview

90
推荐指数
5
解决办法
12万
查看次数

Android:使用Switch Preference pre API level 14

预API级别14没有切换首选项.如果我使用preferences.xml来创建我的首选项屏幕是否有某种方法可以区分API级别?那么有一个旧版本的复选框和API 14的开关?

什么是最好的方式?

android preferences

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

Android:Fragment无法获得活动

我有一个执行片段事务的活动

DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

工作正常.现在我在我的活动中知道了一个动态字符串,我需要在newFragment中的布局中替换它.我以为我可以在transaction.commit()之后调用类似的东西

newFragment.setMyString("my dynamic value");
Run Code Online (Sandbox Code Playgroud)

而在newFragment.java中我有

public void setMyString(String s)
{
 TextView tv = (TextView) getActivity().findViewById(R.id.myobject);
 tv.setText(s);
}
Run Code Online (Sandbox Code Playgroud)

关键是getActivity()返回null.如何获得我需要的上下文来查找布局元素?

编辑:

我尝试使用捆绑包来跟踪路线,因为这似乎是最干净的方式.所以我改变了我的代码:

Bundle b = new Bundle();
b.putString("text", "my dynamic Text");
DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

我的片段onCreateView看起来像这样:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
   View v = inflater.inflate(R.layout.mylayout, container, false);
   TextView t = (TextView) v.findViewById(R.id.texttobereplaced);
   t.setText(savedInstanceState.getString("text");
}
Run Code Online (Sandbox Code Playgroud)

看来savedInstranceState是空的.我应该在哪里找到我的捆绑包?

EDIT2:

在回复中错过了getArguments().现在正在工作.

android android-fragments

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

Android复选框state_enabled

不推荐使用复选框的"启用"xml元素.Eclipse告诉我改为使用state_enabled.我试着补充一下

android:state_enabled="false"
Run Code Online (Sandbox Code Playgroud)

到我的xml中的复选框而不是

android:enabled="false"
Run Code Online (Sandbox Code Playgroud)

但它没有显示任何效果.后者做了所需.我不想使用弃用的方法.难道我做错了什么?

谢谢.

eclipse checkbox android deprecated

15
推荐指数
1
解决办法
7039
查看次数

Java计算MD5哈希

http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml给出一个例子如何计算字符串的MD5哈希值.这导致20位十六进制字符串.根据http://en.wikipedia.org/wiki/MD5,我希望有一个32位的十六进制字符串.我得到了相同的结果,例如使用dac2009响应如何生成MD5哈希?.

为什么我得到的东西看起来像MD5哈希但不是?我无法想象我得到的所有琴弦我必须用12个前导零填充.

编辑:一个代码示例

public static String MungPass(String pass) throws NoSuchAlgorithmException {
    MessageDigest m = MessageDigest.getInstance("MD5");
    byte[] data = pass.getBytes(); 
    m.update(data,0,data.length);
    BigInteger i = new BigInteger(1,m.digest());
    return String.format("%1$032X", i);
}
Run Code Online (Sandbox Code Playgroud)

取自http://snippets.dzone.com/posts/show/3686

java md5 md5sum

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

在选项菜单中设置itemId

我有一个通过XML资源定义的菜单.现在动态我添加一个菜单项

public boolean onCreateOptionsMenu(Menu menu) 
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);

    if(myCondition==true)
    {
        menu.add(0, 99, 0, "new Entry");

    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

在onOptionsItemSelected(MenuItem item)中,我有一个case语句,它检查"99"并执行我的操作.从技术上讲,这很好,我只是想知道这是什么数字,这里99,我会选择?在XML中创建的项目通过资源文件获得了一个ID,我认为Android有一些逻辑来创建这些项目.我想知道生成的菜单项是否会偶然发生99,然后它将不再起作用.什么是最好的方式?

android menuitem

12
推荐指数
1
解决办法
7137
查看次数

Android广播接收器不工作

我试图让广播接收器工作.应该尽可能简单,我有这样的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mytest.intentRec" android:versionCode="1"
    android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name=".mainAct" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name="com.mytest.intentRec.MyIntentRec"
                  android:enabled="true" >
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="7" />
</manifest> 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我有一个主要活动mainAct,这只会在启动后发送广播:

public class mainAct extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.sendBroadcast(new Intent());
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个MyIntentRec类,它尽可能简单:

public class MyIntentRec extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.v("IntentRec", "got it");
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望的是,当我启动我的应用程序时,广播被发送并被拾取并且写入了日志条目.我没有看到日志条目,我没有看到任何错误.我怀疑在清单中发送错误或发送广播.我刚刚在那里创建了一个空的意图,是否需要某些属性的某些意图?

android broadcastreceiver android-intent

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

用户不活动时屏幕变暗

我有一个应用程序,用于说4小时,但只有每5分钟用户需要输入或阅读屏幕.让手机进入睡眠状态并锁定屏幕有点烦人.所以我有两个选择:

  1. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);这不会锁定屏幕,但屏幕总是很亮,我想在没有活动时调暗它.仅仅是因为电池寿命延长,或者这4小时内没有那么重要?

  2. 一个唤醒锁SCREEN_DIM_WAKE_LOCK 也能满足我的需求,但我被告知要使用上面的选项1.

没有唤醒锁,我可以以某种方式实现想要吗?

android wakelock

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

Broadcastreceiver中的Android AlarmManager

我有braodcastreceiver,广播接收器应安排一个警报.

通常我会这样做

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC, time,  myPendingIntent); 
Run Code Online (Sandbox Code Playgroud)

问题是getSystemService仅在Activty中的广播接收器中不可用.我怎么在这里做?

谢谢.

android broadcastreceiver alarmmanager

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

片段元素中的片段onClick方法

我读了很多关于片段的文章,但我仍然对如何做什么感到困惑.

我有一个MainActivity,它并排显示两个片段.在其中一个片段中,我有一个按钮,并在按钮的片段布局XML中定义

android:onClick="buttonClicked"
Run Code Online (Sandbox Code Playgroud)

现在我想实现该方法

public void buttonClicked(View view)  
Run Code Online (Sandbox Code Playgroud)

我原以为这必须在FragmentA.java中实现,而不是在MainActivity.java中实现.但它只有在MainActivity.java中实现该方法时才有效.这是为什么?对我来说没有意义.Pre Honeycomb属于一项活动的方法保留在该活动中,现在在平板电脑上我将许多活动合并到一个MainActivity并且所有不同的方法合并在一起?那么你在FragmentA.java中提出了什么呢?如果你必须开始自己的活动,因为这个应用程序在掌上电脑上运行,那么onClick方法不应该在MainActivity中,而是在需要调用的Activity中.我此刻很困惑......

java android android-fragments android-3.0-honeycomb

8
推荐指数
1
解决办法
8551
查看次数