- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
<分区>
大解释(更安全...),如果您不想全部阅读,请用粗体提问。非常感谢您的帮助!
我有一个带有 ListView
和两个自定义 XML 的应用程序。一个是单个 TextView,用于标题。另一个有 3 个 TextView 和 3 个代表数据的 ImageView。
正如你们大多数人所知,Jeff Sharkey已经有一个 very clever (imho) solution (SeparatedListAdapter
),它允许类在不修改的情况下使用 ImageViews。虽然它接受 String
,但我可以提供可绘制 int 资源的 valueOf
,它会自行解决。太好了,请在最后查看代码和屏幕(为简单起见,他的类(class)不在此处)。
问题是,对于我的项目,我得到了一堆内部专有代码供我使用。而Sharkey的代码是GPLv3,排除了我使用他的代码的可能性。因此,也许您可能知道一个解决方案,该解决方案允许我链接到该代码,而我的其他代码不会被 GPL 的力量“吸引”。我不是在讨论它的政治,所以如果你不这样做,我将不胜感激。而且,我不是在规避,我是在合法地规避。
现在,我已经找到了 cwac-merge ,这是 ASL 2。但到目前为止,我无法将字符串和可绘制对象“映射”到自定义 XML 布局中的自定义 TextView 和 ImageView。此外,示例应用使用了一种完全不同的方法来满足我认为我远程需要的东西。
如果您想知道我在做什么,请参阅下面的 SeparatedListAdapter
和我的类(class)。对于 cwac-merge,无论如何它都会强制关闭,所以我不会费心发帖。
package com.uitests;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;
public class TestActivity extends ListActivity {
public final static String ITEM_TITLE = "title";
public final static String ITEM_STATE = "state";
public final static String ITEM_TEMPERATURE = "temperature";
public final static String ITEM_UP = "up";
public final static String ITEM_DOWN = "down";
public final static String ITEM_LEVEL = "level";
public Map<String,?> createItem(
String title, String state, String temperature,
String upImage, String downImage, String levelImage) {
Map<String,String> item = new HashMap<String,String>();
item.put(ITEM_TITLE, title);
item.put(ITEM_STATE, state);
item.put(ITEM_TEMPERATURE, temperature);
item.put(ITEM_UP, upImage);
item.put(ITEM_DOWN, downImage);
item.put(ITEM_LEVEL, levelImage);
return item;
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// THIS IS JUST AN EXAMPLE TO POPULATE THE LIST FOR STACKOVERFLOW!
List<Map<String,?>> controlA = new LinkedList<Map<String,?>>();
controlA.add(createItem(
"Monitor 001AK",
"Functional",
"27",
String.valueOf(R.drawable.ic_up),
String.valueOf(R.drawable.ic_down_off),
String.valueOf(R.drawable.ic_level07)));
// MORE .adds HERE
List<Map<String,?>> controlB = new LinkedList<Map<String,?>>();
controlB.add(createItem(
"Monitor 003CK",
"Functional",
"29",
String.valueOf(R.drawable.ic_up),
String.valueOf(R.drawable.ic_down_off),
String.valueOf(R.drawable.ic_level07)));
// MORE .adds HERE
SeparatedListAdapter adapter = new SeparatedListAdapter(this);
adapter.addSection(
"Control 1",
new SimpleAdapter(
this,
controlA,
R.layout.equip_row,
new String[] {
ITEM_TITLE,
ITEM_STATE,
ITEM_TEMPERATURE,
ITEM_UP,
ITEM_DOWN,
ITEM_LEVEL },
new int[] {
R.id.tide_row_title, // TextView
R.id.tide_row_state, // TextView
R.id.tide_row_temperature, // TextView
R.id.tide_row_img_up, // ImageView
R.id.tide_row_img_down, // ImageView
R.id.tide_row_img_level } // ImageView
)
);
adapter.addSection(
"Control 2",
new SimpleAdapter(
this,
controlB,
R.layout.equip_row,
new String[] {
ITEM_TITLE,
ITEM_STATE,
ITEM_TEMPERATURE,
ITEM_UP,
ITEM_DOWN,
ITEM_LEVEL },
new int[] {
R.id.tide_row_title,
R.id.tide_row_state,
R.id.tide_row_temperature,
R.id.tide_row_img_up,
R.id.tide_row_img_down,
R.id.tide_row_img_level }
)
);
this.getListView().setAdapter(adapter);
}
}
所有这些简单性造就了这个出色的屏幕:
我正在设计一款支持签到的应用。 使用应用程序时的 GPS 权限是必须。但是有一个使用地理围栏自动 checkin 的可选功能,它需要“始终”gps 权限。 我想首先请求常规的“使用时”权限。然后,仅当
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 8 年前。 Improve
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
最近,我研究了使用 OnGuard 来帮助诚实的人遵守他们的原则。我同意这里许多人表达的观点,即任何许可制度都无法保护您免受那些想要使用您的软件但不想付费的人的侵害。另一方面,我希望避免让其他人太容易
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我试图在计算机上设置Windows Developer许可证,但失败。 我正在运行Visual Studio 2012。 当我单击“项目”->“商店”->“获取开发者许可证”时,它向我显示一个信息对话
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我想购买 Delphi Xe2 Pro。我独自一人使用它,我有 2 台电脑:一台在办公室,一台可移植用于“在路上”工作。Delphi Xe2 许可证不是很清楚,因此有什么办法可以为 2 台 PC 只购
我正在我的应用程序中安装 Android Licensing,我想知道什么是检查许可证的良好形式 - 每次或仅一次并保存它已被许可共享偏好的事实?我担心的是,如果用户处于离线状态,他们将被锁定在应用程
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
有人知道 WinRT 应用程序的许可是如何工作的吗? 我已向 Microsoft 申请了免费的开发人员许可证,这似乎与 temporarykey.pfx 或 appxmanifest 文件相关联。问题
我一直在网上搜索如何接受 Xcode,以便使用 Xcode 为 MAC 重新编译 MATLAB Windows 文件,但我没有找到任何相关的答案。 我在 MATLAB 中得到的错误消息是: Xcode
一些工作推到 QA,一些工作推到生产。 应该只允许开发人员推送到 QA,并且只允许 QA 推送到生产。除了制作两个单独的构建服务器(通过某种方式共享工件)之外,我如何限制权限? 最佳答案 您需要基于项
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
在 MacOS Catalina 上升级到 Xcode 11.1 后,运行一些命令(例如 git status)会导致 Xcode 声明必须同意许可。显然,我们可以运行 git status 和 gr
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
在 MacOS Catalina 上升级到 Xcode 11.1 后,运行一些命令(例如 git status)会导致 Xcode 声明必须同意许可。显然,我们可以运行 git status 和 gr
我正在构建一个小型 winforms 应用程序:ayende rhino licensing .许可工作正常,我可以创建许可并按我的选择分发它们。 问题是,如何让每个许可证只在一台机器上工作?我知道在
我是一名优秀的程序员,十分优秀!