标签: android

从当前活动中获取根视图

我知道如何使用View.getRootView()获取根视图.我也能从一个按钮的onClick事件中获取视图,其中参数是一个视图.但是如何在活动中获取视图

android view android-activity

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

如何在Android中使用SharedPreferences来存储,获取和编辑值

我想存储一个时间值,需要检索和编辑它.我SharedPreferences该怎么用呢?

android sharedpreferences

599
推荐指数
20
解决办法
62万
查看次数

使用Android开发工具v.23更新Eclipse

我使用新的SDK工具更新了Eclipse(版本23),但是现在Eclipse启动时我收到错误:

此Android SDK需要Android Developer Toolkit 23.0.0或更高版本.当前版本是22.6.3.v201404151837-1123206.请将ADT更新到最新版本.

"检查更新"未找到任何更新.如果我尝试"安装新软件",我可以看到版本23,但由于以下错误我无法升级:

Cannot complete the install because of a conflicting dependency.
Software being installed: Android Development Tools 23.0.0.1245622 (com.android.ide.eclipse.adt.feature.feature.group 23.0.0.1245622)
Software currently installed: Android Developer Tools 22.2.1.v201309180102-833290 (com.android.ide.eclipse.adt.package.product 22.2.1.v201309180102-833290)
Only one of the following can be installed at once: 
    ADT Package 22.6.3.v201404151837-1123206 (com.android.ide.eclipse.adt.package 22.6.3.v201404151837-1123206)
    ADT Package 23.0.0.1245622 (com.android.ide.eclipse.adt.package 23.0.0.1245622)
Cannot satisfy dependency:
    From: Android Development Tools 23.0.0.1245622 (com.android.ide.eclipse.adt.feature.feature.group 23.0.0.1245622)
    To: com.android.ide.eclipse.adt.package [23.0.0.1245622]
Cannot satisfy dependency:
    From: Android Development Tools 22.6.3.v201404151837-1123206 (com.android.ide.eclipse.adt.feature.group 22.6.3.v201404151837-1123206) …
Run Code Online (Sandbox Code Playgroud)

java eclipse android adt

598
推荐指数
15
解决办法
23万
查看次数

如何在按钮单击时启动新活动

在Android应用程序中,如何在单击其他活动中的按钮时启动新活动(GUI),以及如何在这两个活动之间传递数据?

android android-intent android-lifecycle android-button android-activity

596
推荐指数
14
解决办法
81万
查看次数

是否可以使用Java 8进行Android开发?

在网上搜索,目前尚不清楚Java 8是否支持Android开发.

在我下载/设置Java 8之前,有人可以在任何"官方"文档中指出我说Java 8是否支持Android开发.

java android java-8 android-gradle-plugin

594
推荐指数
12
解决办法
27万
查看次数

如何在Android中声明全局变量?

我正在创建一个需要登录的应用程序.我创建了主要和登录活动.

在主要活动onCreate方法中,我添加了以下条件:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ...

    loadSettings();
    if(strSessionString == null)
    {
        login();
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

onActivityResult登录表单终止时执行的方法如下所示:

@Override
public void onActivityResult(int requestCode,
                             int resultCode,
                             Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode)
    {
        case(SHOW_SUBACTICITY_LOGIN):
        {
            if(resultCode == Activity.RESULT_OK)
            {

                strSessionString = data.getStringExtra(Login.SESSIONSTRING);
                connectionAvailable = true;
                strUsername = data.getStringExtra(Login.USERNAME);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是登录表单有时会出现两次(login()方法被调用两次),当手机键盘滑动时,再次出现登录表单,我猜问题是变量strSessionString.

有没有人知道如何设置变量global以避免在用户已经成功验证后出现登录表单?

singleton android state global-variables

592
推荐指数
7
解决办法
30万
查看次数

如何在Android上使背景20%透明

如何在背景Textview中有颜色(即白色)的情况下制作约20%透明(不完全透明)的背景?

transparency android textview

590
推荐指数
15
解决办法
74万
查看次数

从Android应用程序访问Internet需要什么权限?

运行我的应用程序时出现以下异常:

java.net.SocketException: Permission denied (maybe missing INTERNET permission)
Run Code Online (Sandbox Code Playgroud)

如何解决丢失的权限问题?

android android-permissions

585
推荐指数
10
解决办法
57万
查看次数

ViewPager PagerAdapter未更新视图

我正在使用兼容性库中的ViewPager.我已经巧妙地让它显示了几个我可以翻阅的视图.

但是,我很难弄清楚如何使用一组新视图更新ViewPager.

我已经试过各种事情就像调用mAdapter.notifyDataSetChanged(),mViewPager.invalidate()即使每次都创建我想用一个新的数据列表中的一个全新的适配器.

没有任何帮助,文本视图与原始数据保持不变.

更新: 我做了一个小测试项目,我几乎能够更新视图.我将粘贴下面的课程.

然而,似乎没有更新的是第二个视图,"B"仍然存在,按下更新按钮后应显示"Y".

public class ViewPagerBugActivity extends Activity {

    private ViewPager myViewPager;
    private List<String> data;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        data = new ArrayList<String>();
        data.add("A");
        data.add("B");
        data.add("C");

        myViewPager = (ViewPager) findViewById(R.id.my_view_pager);
        myViewPager.setAdapter(new MyViewPagerAdapter(this, data));

        Button updateButton = (Button) findViewById(R.id.update_button);
        updateButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                updateViewPager();
            }
        });
    }

    private void updateViewPager() {
        data.clear();
        data.add("X");
        data.add("Y");
        data.add("Z");
        myViewPager.getAdapter().notifyDataSetChanged();
    }

    private class MyViewPagerAdapter extends PagerAdapter {

        private …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

581
推荐指数
14
解决办法
35万
查看次数

示例:使用Messaging在活动和服务之间进行通信

我找不到任何关于如何在活动和服务之间发送消息的示例,我花了太多时间来搞清楚这一点.这是一个供其他人参考的示例项目.

此示例允许您直接启动或停止服务,并单独绑定/取消绑定服务.当服务运行时,它会以10 Hz的频率递增一个数字.如果活动绑定到Service,则会显示当前值.数据作为整数和字符串传输,因此您可以看到如何以两种不同的方式进行操作.活动中还有按钮将消息发送到服务(更改增量值).

截图:

Android服务消息示例的屏幕截图

AndroidManifest.xml中:

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

水库\值\ strings.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">ExampleService</string>
    <string name="service_started">Example Service started</string>
    <string name="service_label">Example Service Label</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

水库\布局\ main.xml中:

<RelativeLayout
    android:id="@+id/RelativeLayout01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/btnStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Start Service" >
    </Button>

    <Button
        android:id="@+id/btnStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="Stop Service" >
    </Button>
</RelativeLayout>

<RelativeLayout …
Run Code Online (Sandbox Code Playgroud)

android android-service android-activity

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