小编Rom*_*man的帖子

如何更改ViewPager的页面?

我在我的应用程序中使用ViewPager并在主Activity中定义它.在Inside onCreate方法中,我从SharedPreferences加载了一些页面,然后将它传递给PagerAdapter:

@Override
public int getCount() {
    return numberOfPages;
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我将Preferences(或其他Activity)中的这个数字更改为我之前查看过的其他页面索引,我的应用程序崩溃了,因为当我使用此ViewPager返回活动时,此索引超出范围.只需更改活动的ViewPager页面即可修复它.有什么办法吗?

android android-viewpager

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

如何将支持库中的Action Bar添加到PreferenceActivity中?

操作栏兼容性已添加到支持库,修订版18中.它现在具有ActionBarActivity用于在旧版Android上使用操作栏创建活动的类.

有没有办法从支持库添加Action Bar PreferenceActivity

以前我用ActionBarSherlock,它有SherlockPreferenceActivity.

android preferenceactivity android-actionbar android-support-library

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

如何在操作栏下拉导航中设置活动项目?

我正在尝试通过重新启动方向更改的活动来解决问题.

我有一个ActionBar带有下拉列表导航,每次旋转后,该列表的第一个元素被激活.保持fragment内容并不困难,但我不知道如何设置活动列表项.

这是以下定义ActionBar:

getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ArrayAdapter<CharSequence> list = ArrayAdapter
    .createFromResource(this, R.array.action_list, android.R.layout.simple_dropdown_item_1line);
list.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
getActionBar().setListNavigationCallbacks(list, this);
Run Code Online (Sandbox Code Playgroud)

这是我的解决方法:

@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
    if (!application.isRotated) {
        application.activePosition = itemPosition;
        application.activeId = itemId;
        getFragmentManager().beginTransaction()
            .replace(android.R.id.content, MyFragment.newInstance(itemPosition))
            .commit();
    } else {
        application.isRotated = false;
        this.onNavigationItemSelected(application.activePosition, application.activeId);            
    }
    return true;
}

@Override
protected void onStop() {
    super.onStop();
    application.isRotated = true;
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是最好的解决方案.

android android-spinner android-actionbar

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

如何在Chrome扩展程序中使用内容脚本文件注入CSS?

我正在尝试从JavaScript中注入我的CSS,它是作为内容脚本注入的:

"content_scripts": [
   {
      "matches": ["http://www.google.com/*"],
      "js": ["script.js"]
   }
],
Run Code Online (Sandbox Code Playgroud)

我发现了关于注入CSS的类似问题,但是在使用来自已接受答案的代码时遇到了问题.这是我的script.js内容:

var link = document.createElement("link");
link.href = chrome.extension.getURL("style.css");
link.type = "text/css";
link.rel = "stylesheet";
document.getElementsByTagName("head")[0].appendChild(link);
Run Code Online (Sandbox Code Playgroud)

加载某些页面后,此消息显示在控制台中:

拒绝加载chrome-extension://phkgaaiaakklogbhkdnpjncedlbamani/fix.css.资源必须列在web_accessible_resources清单键中,以便由扩展名外的页面加载.

有没有什么办法解决这一问题?或者,也许,从该JavaScript文件中注入一些CSS的其他方法?

注意:我不能直接从清单中包含样式表.

javascript google-chrome-extension content-script

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

如何在Chrome扩展程序的弹出窗口中添加复选框的事件监听器?

我正在尝试捕获checkboxChrome扩展程序弹出窗口中的更改.文件:

内联JavaScript将不会被执行

在同一页面上提供了一个示例,但它用于button.我不知道如何修改它以便捕获chekbox的状态变化.

document.addEventListener('DOMContentLoaded', function () {
      document.querySelector('button').addEventListener('click', clickHandler);
});
Run Code Online (Sandbox Code Playgroud)

例

javascript checkbox google-chrome-extension

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

如何通过按下按钮更改TextView的文本

我想TextView通过按a 来改变a Button,但是不明白如何正确地做到这一点.

这是我布局的一部分:

<TextView android:id="@+id/counter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Text" />
<Button android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Change text!" />
Run Code Online (Sandbox Code Playgroud)

这是我的活动:

public class Click extends Activity {
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        final Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                // ???
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么把onClick()方法放在里面?

android button textview

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

如何在Android上存储HashMap?

所以,我正试图HashMap在Android 上存储.我认为使用内部存储更好,但我不明白如何保存 HashMap然后再读它.有人可以解释一下如何正确地做到这一点吗?

有些计数器有自己的名称和值.我想在启动一些活动时加载它们,使用它们(更改,删除,添加新的),然后保存这些数据以供下次使用.现在我使用HashMap,因为它很容易删除/添加值.

HashMap<String, Integer> counters;
Run Code Online (Sandbox Code Playgroud)

storage android hashmap

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

如何正确设置EditText的InputType?

我希望我的EditText内容类型为数字.我根据参考设置了InputType,它是2.但它仍然可以输入任何角色.

final EditText input = new EditText(this);
input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

我不能使用XML,但我有EditTextPreference,android:inputType="number"它可以正常工作.

编辑:

这是一些更多的代码:

case R.id.set_counter:
AlertDialog.Builder setCounterDialog = new AlertDialog.Builder(this);
setCounterDialog.setTitle("Set counter value");

final EditText input = new EditText(this);
input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
InputFilter[] filter = new InputFilter[1];
filter[0] = new InputFilter.LengthFilter(4);
input.setFilters(filter);

setCounterDialog.setView(input);
setCounterDialog.setPositiveButton("Ok", new OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        String inputText = input.getText().toString();
        counter = Integer.parseInt(inputText);
        counterLabel = (TextView) findViewById(R.id.counter);
        counterLabel.setText(inputText);
    }
});
setCounterDialog.setNegativeButton("Cancel", null);
setCounterDialog.show();
return true;
Run Code Online (Sandbox Code Playgroud)

android numbers input

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

灯箱出现时阻止滚动

我在我的网站上使用Lightboxes的DOM窗口脚本.有什么方法可以在Lightbox出现时阻止主页面上的滚动,并在它消失时取消阻止?

或者,也许,你可以建议更好的Lightbox脚本?

谢谢.

html javascript jquery lightbox

3
推荐指数
1
解决办法
9654
查看次数

视图的边界纹理

有没有办法为LinearLayout其他任何东西设置边框纹理View?由于屏幕尺寸不同,我不能将图像设置为背景.

这是我正在谈论的纹理样本:

在此输入图像描述

我尝试使用Nine-patch,但它会延伸应该重复的白线.

Draw 9-patch工具的屏幕截图:

在此输入图像描述

android border view

3
推荐指数
1
解决办法
928
查看次数