我正在构建一个Preference Activity,其中列表中的大多数首选项将执行代码而不直接修改SharedPreference.我的preferences.xml文件看起来像这样.
<PreferenceCategory
android:title="Connection" >
<Preference
android:id="@+id/settings_connectToNewComputer"
android:key="connectToNewComputer"
android:summary="Currently connected to:"
android:title="Connect to new computer" />
<Preference
android:id="@+id/removeDevice"
android:key="removeDevice"
android:summary="Remove this device from the computer's whitelist"
android:title="Remove this device from computer" />
</PreferenceCategory>
<PreferenceCategory
android:title="About" >
<Preference
android:id="@+id/settings_About"
android:key="about"
android:summary="About me and my thanks to those who made this app great"
android:title="About Hue Pro" />
<Preference
android:id="@+id/contact"
android:key="contact"
android:summary="Contact me with comments, bugs, and suggestions for updates"
android:title="Contact me" />
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)
我的目标是在单击其中一个首选项时执行一段代码.与Google Play设置首选项菜单中的"清除搜索记录"类似.(http://i.imgur.com/qnHbJX9.png)
有谁知道如何使这成为可能?
我必须补充一点,我尝试使用findPreference("KeyNameHere"),但它总是返回null.
谢谢!
编辑:
我在此代码中添加并实现了OnPreferenceClickListener: …
我正在为我的Android应用程序构建一个小部件,它上面会有几个按钮.根据窗口小部件的大小,我希望窗口小部件上的按钮数量增长和缩小.这是4x1视图中目前的样子:

当你将它缩小到3x1时:

反正有没有动态隐藏3x1视图中的第4个按钮,所以其他3个按钮不会被压扁?同样适用于2x1或1x1.对此的任何意见将不胜感激!
谢谢!
我在AsyncTask类中遇到了onPostExecute的问题.这是代码.
--EDIT:按要求添加到代码的其余部分 -
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preliminaryTasks();
}
private void preliminaryTasks() {
//removed more code
new discoverAddresses().execute();
}
public class discoverAddresses extends AsyncTask<String, Void, List<String>> {
@Override
protected List<String> doInBackground(String... params){
/* Lots of code here taken out */
List<String> addresses = new ArrayList<String>();
//Added for debugging purposes
addresses.add("http://192.168.1.120:80");
addresses.add("http://192.168.1.110:80");
return addresses;
}
@Override
protected void onPostExecute(List<String> addresses){
MainActivity.this.runOnUiThread(new Runnable(){
public void run(){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Are …Run Code Online (Sandbox Code Playgroud) 我有一个简单的主屏幕小部件,上面有几个按钮.我的问题是,当小部件在Lollipop上运行时,按钮的文本全部大写,任何以前的Android版本都没有这个问题.layout.xml中的按钮是非常普通的按钮:没有样式或特殊酱,只有宽度高度和文本大小.有趣的是,我放入小部件的任何TextViews都不会受到Lollipop的影响,即.似乎只有Button对象有此问题.
我的AppWidgetProvider也非常简单:只需设置文本集和每个按钮的PendingIntent.
这听起来像是一个全局样式问题,但我在应用程序的资源中找不到任何可能导致此问题的内容.有没有人对这个问题有任何意见?谢谢!
我在Play商店发布了一个Android应用程序,我收到用户的报告说他们的三星设备有一个名为"智能管理器"的应用程序,它显示有关我的应用程序的电池使用异常的通知.但是,从我的角度来看,我没有看到调试它的方法.我没有三星设备,并且似乎没有办法让用户向开发人员报告应用程序为什么使用比正常情况更多的电池.
有没有人有关于Samsung Smart Manager应用程序的任何信息?是什么导致它提出通知?有什么洞察我可以做些什么来解决这些问题?
谢谢!
我在Netbeans中有一个项目,我正在分析(使用Java 7).我正在寻找的是,在垃圾收集时,来自伊甸园空间的内存将进入幸存者空间,以及是否有任何内存溢出到Tenured空间.最重要的是,我正在寻找Tenured空间随着时间的推移如何增长.
我打印GC统计数据,但我只得到这样的信息:
2339.967: [GC 2339.967: [ParNew: 66213K->4522K(69376K), 0.0161101 secs] 284589K->223320K(369484K), 0.0161685 secs] [Times: user=0.03 sys=0.00, real=0.02 secs]
2344.543: [GC 2344.543: [ParNew: 66218K->4520K(69376K), 0.0161084 secs] 285016K->223739K(369484K), 0.0161647 secs] [Times: user=0.03 sys=0.00, real=0.02 secs]
2349.118: [GC 2349.118: [ParNew: 66216K->4519K(69376K), 0.0159046 secs] 285435K->224159K(369484K), 0.0159587 secs] [Times: user=0.03 sys=0.00, real=0.02 secs]
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何找出我要找的信息?
谢谢!
我正在构建一个具有多个按钮的小部件,每个按钮都将自己的意图发送给广播接收器.广播接收器假设基于按下哪个按钮显示Toast消息.代码目前看起来像这样:
public class WidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds){
ComponentName thisWidget = new ComponentName(context, WidgetProvider.class);
int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
for (int widgetId : allWidgetIds) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
// Set the text of the buttons
remoteViews.setTextViewText(R.id.widgetPreset1Button, prefs.getString("widget1", "Not set"));
remoteViews.setTextViewText(R.id.widgetPreset2Button, prefs.getString("widget2", "Not set"));
remoteViews.setTextViewText(R.id.widgetPreset3Button, prefs.getString("widget3", "Not set"));
remoteViews.setTextViewText(R.id.widgetPreset4Button, prefs.getString("widget4", "Not set"));
// Register the buttons with an OnClick event
Intent intent1 = new Intent("myapp.SendWidgetPreset");
intent1.putExtra("Widget", 1); …Run Code Online (Sandbox Code Playgroud) android broadcastreceiver android-widget android-intent android-pendingintent
我想用Android来绘制这样的渐变Canvas:
在水平方向上有两种颜色(红色和蓝色)的渐变.然后在垂直方向上有一个透明度梯度(允许红色和蓝色显示)为空(没有所有颜色?).
我在这里发现了这个链接,这与我想要的很接近.但我无法弄清楚如何使底部透明.
如何在Android中实现这一目标?