小编Inê*_*nês的帖子

Android如何知道选中了哪个复选框

我正在制作我的第一个Android应用程序而且我遇到了一个问题,我无法在Google上的任何地方找到答案.

我想要一个带复选框的项目列表.我希望项目本身和复选框都可以点击.

    public class MyItem extends ListActivity {
        private ArrayList<MyItem> items;
        public void onCreate(Bundle savedInstanceState) {
            /* code which creates instances of MyItem and inserts them on the *list* variable */
        MyArrayAdapter adapter = new MyArrayAdapter(this, R.layout.my_item, list);

        setListAdapater(adapter);
        setContentView(R.layout.items_list);
    }
        public onListItemClick(ListView l, View v, int position, long id){
            //handles the click on an item
        }

    public class MyArrayAdapter extends ArrayAdapter<MyItem>{
        private MyItem item;
        public MyArrayAdapter(Context context, int resourceId, ArrayList<MyItem> list){
            //code for the constructor
        }
        public getView(int position, …
Run Code Online (Sandbox Code Playgroud)

checkbox android list listactivity android-arrayadapter

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

Android Studio中的Ui Automator 2.0项目

我想在Android Studio中设置一个项目.但是,我不想要一个Android应用程序,只需要测试项目.

在最新发布的UiAutomator之后,我试图设置一个扩展ActivityInstrumentationTestCase2的类并从那里开始我的测试.

但是,我偶然发现了一件事:我无法弄清楚如何在不将其作为应用程序的情况下创建项目.

创建新项目的选项包括:

  • 启动一个新的Android Studio项目
  • 打开现有项目
  • 导入项目

我做了:

  1. 启动一个新项目,为其命名,设置minSDK并选择"No activity"
  2. 打开build.gradle(在app下)并添加测试支持库末尾提到的依赖项和检测信息
  3. 在src下打开androidTest并更改主文件:更改为ActivityInstrumentationTestCase2,添加setUp和tearDown; 定义RunWith Junit4(如测试支持库中所示)
  4. 我构建项目(构建成功) - 按下"动作栏"中构建的绿色箭头

我的问题是:

  • 如何在设备中安装?
  • 如何在设备中运行它?
  • 我需要在AndroidManifest中做任何事情吗?
  • 我在正确的地方编辑吗?我应该在src/main下做什么吗?

我很感激安装和运行说明将是如何通过Android Studio和使用命令行(如果你只知道其中一个发布它请你).

注意:这是我第一次使用Android Studio

提前致谢.

编辑:

现在我可以构建和运行,但它告诉我我没有运行测试(空测试套件).这是我的graddle和我的代码.

我的build.graddle如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "androidexp.com.ceninhas"
        minSdkVersion 21
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
      testInstrumentationRunner="android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'LICENSE.txt'
    }
}

dependencies …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-instrumentation android-uiautomator

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

Operator =在C++中使用Const变量进行过载

我想知道你们是否可以帮助我.

这是我的.h:

Class Doctor {
   const string name;
   public:
       Doctor();
       Doctor(string name);
       Doctor & Doctor::operator=(const Doctor &doc);
}
Run Code Online (Sandbox Code Playgroud)

我的主要人物:

int main(){
    Doctor d1 = Doctor("peter");
    Doctor d2 = Doctor();
    d2 = d1;
}
Run Code Online (Sandbox Code Playgroud)

我想做operator = function.谁能帮我?请注意Doctor上的const成员.

************编辑:*********我的主要问题是我希望另一个类有一个属性,就像一个医生,像一个Pacient有一个医生.但我希望能够改变我的医生.就像我看到医生A,但我想看医生B.这将在我的其他课程(Pacient)中使用setDoctor函数完成.如果是我在做代码我会说这样的话:

class Patient{
    Doctor &d;
};
Run Code Online (Sandbox Code Playgroud)

然后更改指针.但是我正在使用由其中一位老师制作的基本代码,它的类定义如下:

class Patient{
     Doctor d;
}
Run Code Online (Sandbox Code Playgroud)

但我认为这是不可能的,因为在Patient类中使用setDoctor()我会复制或改变varable本身.第一个没有任何区别,第二个是不可能的,因为const.我对吗?

c++ const operator-overloading operators conversion-operator

5
推荐指数
2
解决办法
9461
查看次数

如何使用屏幕上的位置(边界)在 UiAutomator 中查找对象

我想使用 device.findObject() 在屏幕中查找对象,这需要 UiSelector。到目前为止,一切都很好。

问题是我有几个项目只能通过它们在屏幕上的位置来区分,例如,在消息传递应用程序中,所有头像都具有相同的属性,除了它们在屏幕中的位置之外。

我该如何指定这一点?

我想到:

  • 在找到对象后检查属性并在没有此属性的情况下再次进行搜索,但我也找不到任何从搜索中消除对象的方法。
  • 使用 UiCollection 获取所有可能的元素,然后一一检查哪个是正确的。问题:我无法在 UiCollection 中使用 foreach,要查找元素,我只能使用 UiSelector,它与以前有相同的问题。

您有什么建议/解决方案吗?

谢谢。

android bounds uidevice android-testing android-uiautomator

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

在修订版22中无法解析导入android.support.test

我正在尝试使用支持库在Android中进行测试.但是,当我尝试导入时

import android.support.test.runner.AndroidJUnit4;
Run Code Online (Sandbox Code Playgroud)

正如它在这里所描述的那样

The import android.support.test can not be resolved
Run Code Online (Sandbox Code Playgroud)

我想使用版本22,因为我想使用为UiAutomator提供的新功能.

源中没有support\test文件夹

我正在挖掘sdk文件夹,我注意到即使路径来源\ android-21\android\support\test存在,sources\android-22\android\support也没有测试文件夹(有一个测试但是只有GrantActivity.java里面).

我忘记了进口任何罐子吗?(我尝试导入支持注释,并支持-v4,但结果相同).

难道我做错了什么?我希望如此,你们可以帮助我解决这个问题.

提前致谢!

注意:我已经下载了Android支持存储库和库,我拥有API 22中的所有软件包,并且我拥有最新的工具,平台工具和构建工具.

(我认为这不重要,但我在Windows 7中使用Eclipse Kepler)

testing android android-support-library android-uiautomator

0
推荐指数
1
解决办法
4506
查看次数