小编Mar*_*tyn的帖子

Android:如何在列表创建时禁用列表项

我是Android开发人员的新手,还在做很多事情.

我有一个主菜单显示使用以下代码,但无法解决如何禁用菜单中的选定项目.有人可以帮我提供一些示例代码吗?

public class listTest extends ListActivity {

    @Override
    public void onCreate(Bundle savedState) {
        super.onCreate(savedState);
        setListAdapter(ArrayAdapter.createFromResource(this, R.array.mainMenu,
                android.R.layout.simple_list_item_1)); 
        //not sure how to disable list items here
    }

    protected void onListItemClick(ListView list, View view, int position, long id) {
        // can disable items when they are clicked on
        view.setEnabled(false);
    }   

}
Run Code Online (Sandbox Code Playgroud)

string-array我的strings.xml文件中有一个:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="mainMenu">
        <item>Item 1</item>
        <item>Item 2</item>
        <item>Item 3</item>
    </string-array> 
</resources>
Run Code Online (Sandbox Code Playgroud)

谢谢

java android listview list

19
推荐指数
3
解决办法
4万
查看次数

ListView使用两个cursoradapters?

我有一些代码对数据库执行两个查询并返回两个游标对象.有没有什么方法可以将这两个游标组合起来,以便所有游戏都ListView可以获取数据?

android android-listview android-cursoradapter

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

微调器和微调器项目的不同视图?

有什么办法可以为闭合的微调器视图和微调器项视图设置不同的视图吗?

我假设在其中使用的资源id ArrayAdapter将用于闭合项目视图以及项目视图,因此我扩展了ArrayAdapter并定义了getView使用不同资源的资源,但是对超级构造函数的调用中的资源ID没有似乎永远都没有使用,只使用了getView似乎使用的资源ID

Spinner.java代码中,它指出:

微调器适配器允许定义两个不同的视图:一个用于显示微调器本身的数据,另一个用于在按下微调器时显示下拉列表中的数据.

但鉴于代码,它似乎不可能.

无论如何 - 我的代码:

public class CustomArrayAdapter <T> extends ArrayAdapter<T> {

    int itemViewResourceId;
    private LayoutInflater inflater;
    ViewPopulator<T> viewPopulator;
    private List<T> objects;

    public CustomArrayAdapter(Context context, int textViewResourceId, int itemViewResourceId, ViewPopulator<T> viewPopulator, List<T> objects) {
        super(context, textViewResourceId, objects);
        inflater = LayoutInflater.from(context);
        this.viewPopulator = viewPopulator;
        this.itemViewResourceId = itemViewResourceId;
        this.objects = objects;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null || convertView.getTag() == null) …
Run Code Online (Sandbox Code Playgroud)

android view spinner

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

平板电脑没有出现在亚行

我刚刚买了一台运行Android的联想Thinkpad Slate平板电脑,但在我的生活中不能让ADB在Win7或Kubuntu中识别它.

平板电脑设置中的USB调试已打开,当我将平板电脑连接到计算机时,会出现"USB Debugging Connected"消息 - 所以平板电脑方面的所有功能都很好.计算机方面的事情并不是那么好.

Kubuntu(我的主要开发机器)

我已将供应商ID添加到/etc/udev/rules.d/51-android.rules文件中(如此处所述) - 尝试了以下各项,一次一个,但没有成功.

SUBSYSTEM=="usb", SYSFS{idVendor}=="17ef", MODE="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666", GROUP="plugdev"

SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 作为我的Nexus S的参考 ,它工作正常.

lsusb 打印出来:

root@ubuntu:/etc/udev/rules.d# lsusb
...
Bus 002 Device 008: ID 17ef:741b Lenovo 
...
Run Code Online (Sandbox Code Playgroud)

视窗

已按照这些说明操作,但仍未收到adb设备的任何回复.

我重启了两台机器和平板电脑几次无济于事.有人可以帮忙吗?

android adb

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

如何获得变量的第一个字符

我正在尝试获取变量的第一个字符,但是我遇到了错误的替换错误.任何人都可以帮我修复它吗?

代码是:

while IFS=$'\n' read line
do
  if [ ! ${line:0:1} == "#"] # Error on this line
  then
    eval echo "$line"
    eval createSymlink $line
  fi
done < /some/file.txt
Run Code Online (Sandbox Code Playgroud)

我做错了什么或有更好的方法吗?

- 编辑 -

根据要求 - 这是一些存储在/some/file.txt中的示例输入

$MOZ_HOME/mobile/android/chrome/content/browser.js
$MOZ_HOME/mobile/android/locales/en-US/chrome/browser.properties
$MOZ_HOME/mobile/android/components/ContentPermissionPrompt.js
Run Code Online (Sandbox Code Playgroud)

bash

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

动态设置strings.xml中的文本链接

我正在尝试使用内置本地化的应用程序,但我想要一种方法,我可以在文本中创建一个Web链接,URL在其他地方定义(为了便于维护).

所以,我在res/values/strings.xml中有我的链接:

<?xml version="1.0" encoding="utf-8"?>
<resources>
...
    <string name="link1">http://some.link.com</string>
    <string name="link2">http://some.link2.com</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

和我在res/values-en-rGB/strings.xml中的本地化文本

<?xml version="1.0" encoding="utf-8"?>
<resources>
...
    <string name="sampleText">Sample text\nMore text and link1\nMore text and link2.</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

我没有对这一点进行过测试,但是从developer.android.com本地化部分开始,它表示这种减少内容重复的方法应该可行,但我不知道我应该把意大利文放在哪个文件夹中.它会在'res/values-it-rIT/strings.xml'中吗?让我们假设我也有其他各种语言.

我正在寻找一种方法来获取基本本地化的'sampleText'并插入我的html链接,并在点击时让它们工作.到目前为止,我尝试了两种方法:

1,

在'sampleText'(%s)中添加一些格式:

<string name="sampleText">Sample text\nMore text and <a href="%s">link1</a>\nMore text and <a href="%s">link2</a>.</string>
Run Code Online (Sandbox Code Playgroud)

然后像这样处理文本:

TextView tv = (TextView) findViewById(R.id.textHolder);
tv.setText(getResources().getString(R.string.sampleText, getResources().getString(R.string.link1), getResources().getString(R.string.link2)));
Run Code Online (Sandbox Code Playgroud)

但是,当我点击链接时,这不起作用,即使链接文本正在放入正确的位置.

2,我尝试使用Linkify但正则表达式路线可能很难,因为我正在寻找支持非拉丁语言.我试图在链接文本周围放置一个自定义的xml标记,然后执行以下操作:

Pattern wordMatcher = Pattern.compile("<span1>.*</span1>");
String viewURL =    "content://" + getResources().getString(R.string.someLink);
Linkify.addLinks(tv, wordMatcher , viewURL );
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

那么,我想知道是否有一种方法可以动态地将多个URL添加到同一文本的不同部分,这些部分将链接到Web内容?

android text localization dynamic hyperlink

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

为什么Google会在Gmail应用对话列表视图中使用Canvas?

我一直在检查使用HierarchyViewer在Android的Gmail应用程序中,发现一些有趣的事情在于,在邮件列表中每个项目看起来像一个画布视图 - 我期待的东西像孩子组件的RelativeLayout: HierarchyViewer中Gmail对话列表的屏幕截图

我最初的原因是它出于性能原因这样做 - 每个项目的一个画布视图比每个项目的多个视图要好得多,特别是在一个似乎滚动非常顺畅的长列表中.这听起来不错吗?Google是否会在其官方文档中的任何位置推荐此方法?这是其他人应该关注性能的方法吗?

performance android listview android-canvas

9
推荐指数
1
解决办法
367
查看次数

Java中的文本对齐库

可能重复:
我可以设置Textview的属性,例如justify吗?

我正在编写一个需要文本调整的Android应用程序,这本身不支持,我不认为使用WebView会因为与屏幕分辨率和尺寸相关的字体和文本大小而起作用.考虑到这一点,我将编写一个自定义视图,扩展TextView,它将进行文本调整,并想知道是否有人知道我可以看到的任何代码,这已经为我节省了一些时间.任何其他有用的建议也将非常感谢.

java android text-justify

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

findViewById(R.id.content)和getRootView()之间的区别

findViewById(R.id.content)和getRootView()有什么区别?不要两者都返回活动的根视图吗?

android view root

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

显示错误由以下引起:java.lang.reflect.InvocationTargetException

当我按下按钮(名为"当前位置")时,它应该在textview上显示当前位置(lat和long)(名为"tvAddress").但它没有按照我的预期工作.这给了我错误.下面给出了错误.任何人都可以帮助我

错误是:

02-05 23:37:22.429: E/AndroidRuntime(20293): FATAL EXCEPTION: main
02-05 23:37:22.429: E/AndroidRuntime(20293): java.lang.IllegalStateException: Could not execute method of the activity
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.view.View$1.onClick(View.java:3680)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.view.View.performClick(View.java:4191)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.view.View$PerformClick.run(View.java:17229)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.os.Handler.handleCallback(Handler.java:615)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.os.Handler.dispatchMessage(Handler.java:92)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.os.Looper.loop(Looper.java:137)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at android.app.ActivityThread.main(ActivityThread.java:4960)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at java.lang.reflect.Method.invokeNative(Native Method)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at java.lang.reflect.Method.invoke(Method.java:511)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
02-05 23:37:22.429: E/AndroidRuntime(20293):    at dalvik.system.NativeStart.main(Native …
Run Code Online (Sandbox Code Playgroud)

java android

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