小编Jon*_*Jon的帖子

动画视图的顶部和底部尺寸

我需要用视图做两件事:

  1. 将顶部尺寸移动到窗口的最顶部
  2. 将底部尺寸移动到窗口的最底部.

简而言之,我需要视图覆盖100%的父视图.

翻译动画不起作用,因为它移动视图但不会增加大小.

缩放动画有效,但它会拉伸视图的内容,我不希望这样.我想增加可见区域,而不是拉伸内容以适应新的尺寸.

这样做的正确方法是什么?

animation android android-animation android-layout android-view

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

Picasso库不会在Android上从SD卡加载图像

我从图像库中的路径获取文件,并尝试将其加载到图像视图,如下所示.文件路径是:/storage/sdcard0/DCIM/Camera/1436267579864.jpg.我也试过传递Uri我也有读SD卡的权限.

它以onError()方法结束.但是,类似的方法适用于Web网址.我该如何解决这个问题?

private void getImage(File file) {

        if(file.exists()) {

            Picasso.with(activity)
                    .load(file)
                    .error(R.drawable.noimage)
                    .into(imgPreview, new Callback() {
                        @Override
                        public void onSuccess() {
                            if (progressBar != null && imgPreview != null) {

                                imgPreview.setVisibility(View.VISIBLE);
                                imgPreview.setTag("loaded");
                                progressBar.setVisibility(View.GONE);

                            }
                        }

                        @Override
                        public void onError() {
                            if (progressBar != null && imgPreview != null) {
                                imgPreview.setVisibility(View.VISIBLE);
                                progressBar.setVisibility(View.GONE);
                            }
                        }

                    });
   }
Run Code Online (Sandbox Code Playgroud)


<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)

android picasso

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

Android设置GoolgeMap从点数据库边界

使用谷歌地图Android API v2,我试图使用LatLngBounds.Builder()数据库中的点设置地图的边界.我认为我很接近,但活动正在崩溃,因为我认为我没有正确加载积分.我可能只是几行之遥.

//setup map
private void setUpMap() {

    //get all cars from the datbase with getter method
    List<Car> K = db.getAllCars();

    //loop through cars in the database
    for (Car cn : K) {

        //add a map marker for each car, with description as the title using getter methods
        mapView.addMarker(new MarkerOptions().position(new LatLng(cn.getLatitude(), cn.getLongitude())).title(cn.getDescription()));

        //use .include to put add each point to be included in the bounds   
        bounds = new LatLngBounds.Builder().include(new LatLng(cn.getLatitude(), cn.getLongitude())).build();

       //set bounds with all the map …
Run Code Online (Sandbox Code Playgroud)

android android-maps-v2

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

在FragmentStatePagerAdapter管理的选定ViewPager Fragment上,UserVisibleHint为false

我在Android应用中遇到了一个非常难以诊断的问题.getUserVisibleHint()返回false当前选定的片段,ViewPager它应该返回true(因为它是可见的并且被选中).

我已经将我看到这种行为的实例描述如下:

  • 片段已选中并且当前显示在a中 ViewPager
  • ViewPager由a管理 FragmentStatePagerAdapter
  • 之前选择了片段,其状态已保存,之后由其恢复 PagerAdapter
    • viewpager中至少有3个选项卡
    • 用户导航到选项卡3,然后导航到选项卡1,然后返回选项卡3.
  • 应用程序使用支持库版本24.0.0或更高版本

android android-viewpager android-support-library android-pageradapter

6
推荐指数
1
解决办法
1282
查看次数

事务回滚在 Spring Data MongoDB 中不起作用

我正在使用Spring Data MongoDB(2.2.5)MongoDB 4.2.5 社区版本测试事务回滚功能。正如Spring Data官方文档中提到的,我在配置类中配置了MongoTransactionManager,并在后端创建了一个包含3个成员的副本集。

此外,还使用了 mongo 数据库事务存储库。使用@Transactional注释了我的Dao方法。即使我已经在方法中实现了事务范围,我的数据仍然保存在集合中(人员以及地址),并且在应用程序中的运行时异常上数据库层没有发生回滚。我已经提供了我的应用程序所需的源代码和跟踪。请帮助解决真实问题,如果我遗漏了任何内容,请告诉我。

@Slf4j
@Configuration
@EnableMongoRepositories
@EnableTransactionManagement(proxyTargetClass=true)
class ApplicationConfig  extends AbstractMongoClientConfiguration {

    @Bean
    MongoTransactionManager transactionManager(MongoDbFactory dbFactory) {  
        log.info("Creating dbFactory {}", dbFactory);
        MongoTransactionManager manager=new MongoTransactionManager(dbFactory);
        log.info("Creating manager {}",manager);
        return manager;
    }

    @Override
    public MongoClient mongoClient() {

        return MongoClients.create("mongodb://localhost:27020,localhost:27021,localhost:27022/?replicaSet=rs0");

    }

    @Override
    protected String getDatabaseName() {
        return "testDB";
    }

    public @Bean MongoTemplate mongoTemplate() {
          return new MongoTemplate(mongoClient(), "testDB");
      }

}

@Slf4j
@Service("TestDao")
public class TestDaoImpl implements TestDao{

    @Autowired
    PersonRepository repository;

    @Autowired
    MongoOperations ops;

    @Autowired …
Run Code Online (Sandbox Code Playgroud)

spring-transactions spring-data-mongodb

6
推荐指数
0
解决办法
1632
查看次数

数据仓库中的交叉引用事实和维度

我正在尝试为许可供应商设计数据仓库,许可供应商在电子商务和其他各种场所销售许可证.他们想要跟踪的事情是销售,产品生命周期和活动.这意味着有不同的销售类型(例如新购买,促销购买,续订)和许可证的不同事件/状态,例如 - 许可证可以安装,更新,激活,注册.许可证可以多次续订(在不同的日期).

所以我认为我的尺寸非常简单 - 日期,产品,来源,销售类型和事件/状态.我会有两个事实表; 一个用于销售,另一个用于事件,它们都具有维度表的外键.我的事实表将是一个累积的事实表,其中每个事件都会添加一个新行 - 因此,许可证可以重复.但是,要求规定他们能够交叉引用这两个事实以及销售类型和事件维度.例如,如果某人看到"A"在"新购买"类型的美国电子商务商店中有100个销售,那么他们希望看到有多少'那些'100个许可证也被激活......然后他们可能会希望看到,激活的人,有多少人注册了......然后(回到saletype)注册了多少人,其中有多少人"更新了".我无法真正定义一个层面,因为你可以有很多这些组合....

我怎样才能做到这一点?正如我正在阅读的那样,我发现根据许可证本身似乎无法将这两个事实联系起来(这是我需要做的).

此外,我还在想,也许我可以拥有1个事实表,并且我可以"技术上"将saletype和eventtype组合成一个大型事件类型维度.所以,然后在事实表中将是一个大事务事实表,它将具有事件维度的偶数外键.但是,所以现在我有一个事实表,每个事件都有一行发生在许可证上.许可证会重复出现,并且一个事件可以多次出现(在不同的日期).因此,如果我选择查看某个事件的总计,我怎么能看到其他事件中还存在多少个许可?

我需要提供所有这些数字作为度量,以便业务用户可以即时查看它们(使用他们想要使用的任何OLAP浏览器)

注意:我使用的是SQL Server分析服务和SQL Server 2008 r2

作为参考,这就是我现在拥有的:

  1. DimProducts(PK:ProductID和其他属性)
  2. DimDate(PK:DateKey和其他属性)
  3. DimEvent(PK:EventID和其他属性)

  4. FactLicenses(FK:ProductID; FK:DateKey; FK:EventID和许可证字段(varchar))

所以我重复了许可证,每次发生许可证时都会发生事件(安装,激活,续订,取消,续订(再次).可能有一个许可证具有相同的eventID,但从不在同一个DateKey上.表的主键是DateKey + EventID + License

编辑:

所以,我在很多地方都读过这样的情况下的事实表应该是一个累积的事实表,它有多个指向同一(类型)维度的列 - (即日期),我应该创建角色扮演每个人的维度.但是,您如何解释许可证可以多次续订,并且可以多次安装等事实......?

ssas data-warehouse business-intelligence

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

如何从列表框中选择项目在WPF中有复选框?

这是ListBox代码:

<ListBox x:Name="courseslistview" 
         ItemsSource="{Binding .}" 
         FontSize="18.667" 
         FontFamily="Trebuchet MS" 
         LayoutUpdated="courseslistview_LayoutUpdated">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <CheckBox Content="{Binding .}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

如何使用C#获取上面ListBox中所有选中的复选框?

c# wpf checkbox listbox

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

Android AlertDialog生成黑色背景黑色文本

我在android API 10的对话框中遇到自定义视图的问题.

AlertDialog.Builder用来构建我的对话框.我使用setView构建器上的命令包含自定义视图面板.

这适用于我测试过的大部分API.样式在设备之间有所变化,但这就是我想要的,因为样式与设备默认匹配.

我的问题是在API 10上,我的自定义视图中的任何文本在黑色背景上显示为黑色.

我插入的任何文本都AlertDialog.Builder.setMessage()正确显示.

对话框构建器用于确定文本外观的神奇属性/样式是什么?

我的应用程序的主题是Theme.AppCompat.Light.

这是我的onCreateDialog方法:

    public Dialog onCreateDialog(Bundle savedInstanceState) {
    LayoutInflater inflater = getActivity().getLayoutInflater();
    final View view = inflater.inflate(R.layout.fragment_status_dialog, null);
    mStatusTextView = (TextView) view.findViewById(R.id.text_status);
    mConnectedDeviceTextView = (TextView) view.findViewById(R.id.text_connected_device);

    MainService.ServiceState state = null;
    if (getArguments().containsKey(SERVICE_STATUS_ARG_KEY)) {
        state = (MainService.ServiceState) getArguments().getSerializable(SERVICE_STATUS_ARG_KEY);
    }
    setState(state);

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setView(view);
    builder.setMessage("This will show up just fine.");
    builder.setTitle(getString(R.string.status_title));
    builder.setNegativeButton(R.string.dialog_back_button_text, null);
    builder.setNeutralButton(R.string.dialog_connect_to_text, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int …
Run Code Online (Sandbox Code Playgroud)

android

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

使用savedInstanceState在DialogFragment中保存和恢复EditText光标位置

我读到的大部分内容都说你应该打电话onSaveInstanceState()给你DialogFragment保存它的状态,然后调用onActivityCreated()并恢复那里的状态.虽然这有效,但我发现了一个问题:

如果我有EditText自己的自定义布局,请DialogFragment AlertDialog说我输入密码.在输入的最后一个密码字符后,密码被屏蔽,光标闪烁.如果我保存输入的值EditTextonSaveInstanceState()使用恢复状态onActivityCreated(),这是恢复,但将光标移动到我刚才旋转,而不是停留在年底前键入的开始.

但是,如果我onCreateDialog()通过首先检查我savedInstanceState的null 来恢复我保存的内容,那么我的光标会在输入的最后一个字符之后保持在结尾处.

我想知道哪种方法是正确的,虽然我看到两者都正常工作并保留密码进行轮换更改.只有少数人认为光标移动到开头而不是停留在最后onActivityCreated().

android

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

如果 Android Gradle Build 中不存在默认属性文件,如何创建它

目前,我的 android 项目从本地属性文件加载两个参数来填充一些Build.Config常量。拥有单独文件的目的local.properties是使其不受源代码控制。(该文件被 git 忽略)。其中的值对于生产版本没有任何价值,并且可能会被开发人员频繁更改。我不希望这些值的更改构成build.gradle. 我也不希望它仅仅因为开发人员检查了不同的 git 分支而改变。

我的问题是,由于此属性文件不在源代码管理中,因此新的克隆和签出将无法构建,因为该文件不存在。在该文件不存在的情况下,我希望脚本创建它并将默认参数保存到其中。

ERROR: C:\Users\Me\AndroidStudioProjects\MyAwesomeApp\app\local.properties (系统找不到指定的文件)

我当前build.gradle从属性文件中读取:

Properties properties = new Properties()
properties.load(project.file('local.properties').newDataInputStream())
def spoofVin = properties.getProperty('spoof.vin', '12345678901234567')
def spoofId = properties.getProperty('spoof.id', '999999999999')
buildConfigField("String", "SPOOF_VIN", '"' + spoofVin + '"')
buildConfigField("String", "SPOOF_ID", '"' + spoofId + '"')
Run Code Online (Sandbox Code Playgroud)

示例app/local.properties文件:

#Change these variables to spoof different IDs and VINs. Don't commit this file to source control.
#Wed Nov 18 12:13:30 CST 2020
spoof.id=999999999999
spoof.vin=12345678901234567 …
Run Code Online (Sandbox Code Playgroud)

groovy android gradle android-gradle-plugin

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