小编R4j*_*R4j的帖子

确定android中的backstack片段空状态

我的应用程序结构如下:

  SplashActivity -> MainActivity -> (switching between many fragments)
Run Code Online (Sandbox Code Playgroud)

我的期望:当片段返回堆栈计数为零时,从主活动完成应用程序.这是我的尝试:

在SplashAcitivty中

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getIntent().getBooleanExtra("exit", false)) {
        finish();
    }
  }
Run Code Online (Sandbox Code Playgroud)

在MainActivity中:

@Override
public void onBackPressed() {
  // I need to implement this method
  if( backstackCount() == 0){
    Intent intent = new Intent(this, SplashActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra(SplashActivity.EXIT_KEY, true);
    startActivity(intent);
   }else{
    super.onBackPressed();
   }
}
Run Code Online (Sandbox Code Playgroud)

所以,请告诉我如何在空的时候确定后筹码?因为我使用SlideMenu库,所以我的所有片段都会多次切换,并且在切换时会将它们添加到后台堆栈中.看起来像这样:

 getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.content_frame, fragment)
    .addToBackStack(null)
    .commit();
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity

12
推荐指数
1
解决办法
8072
查看次数

UIL,Picasso - 适配器中的图像在停止滚动时始终重新加载

我有ListView文本和来自互联网的大图像.我的图片项目适合宽度和wrap_content高度.
我尝试用UIL&显示背景图像Picasso.它们都可以工作但是当我停止滚动时图像总是重新加载,它使ListView闪烁
它看起来像这样:

在此输入图像描述

当我停止滚动时(我向下滚动然后向上滚动),您可以看到它重新加载下载和缓存的图像.
我怎样才能防止这种情况发生?

 <ImageView android:id="@+id/imgFeed"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scaleType="centerCrop"/>

 // UIL
 options = new DisplayImageOptions.Builder()
 .showImageOnLoading(defaultImage)
 .showImageOnFail(defaultImage)
 .showImageForEmptyUri(defaultImage)
 .resetViewBeforeLoading(false)
 .cacheOnDisk(true).delayBeforeLoading(0)
 .displayer(new  FadeInBitmapDisplayer(200)).cacheInMemory(true).imageScaleType(ImageScaleType.EXACTLY_STRETCHED).build();

 ImageAware imageAware = new ImageViewAware(viewHolder.imgFeed, false); 
 ImageLoader.getInstance().displayImage(item.getPhotoUrl(), imageAware, options);

// Picasso
 Picasso.with(getContext())
                        .load(item.getPhotoUrl())
                        .placeholder(R.drawable.place_holder_big)
                        .resize(screenWidth, 0) //set max width
                        .into(viewHolder.imgFeed);
Run Code Online (Sandbox Code Playgroud)

对于UIL,我在这个问题上尝试了很多方法,但它们根本不适用于我.

更新:似乎我遇到了像这个问题的内存缓存问题.但是我该如何解决这个问题呢?看看Facebook应用程序,他们做得非常好.所有图像都有不同的尺寸,适合的宽度,非常平滑的滚动,无需重新加载图像.他们怎么能这样做?

android android-listview universal-image-loader picasso

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

MPAndroidChart设置中心垂直线

我想在LineChart这个中心设置一条垂直线:

在此输入图像描述

滚动到每个点时,它可以通知更改下面的日期(橙色日期字段).它可以通过单击箭头按钮以编程方式向左或向右移动.

目前,我可以使用以下代码设置视口并允许移动到中心:

LineData data = new LineData(xVals, dataSets);
mChart.setScaleMinima((float) data.getXValCount() / 7f, 1f);
mChart.moveViewTo(0, 7, YAxis.AxisDependency.LEFT);
Run Code Online (Sandbox Code Playgroud)

得到结果:

在此输入图像描述

如何绘制和设置如上所示的垂直线?

更新:

对于听众,我认为OnChartGestureListener onChartTranslate(MotionEvent me, float dX, float dY)可能有所帮助.我需要的是2点之间的距离以及如何计算当前视口中有多少点.有谁知道吗?

charts android mpandroidchart

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

在C#中委托模式与委托关键字

来自MSDN doc:

委托是一种安全封装方法的类型,类似于C和C++中的函数指针.与C函数指针不同,委托是面向对象的,类型安全的和安全的.

我知道它是什么以及如何使用它.但是我想知道它是否是基于代理模式编写的(我知道)(来自维基百科).
他们之间有什么区别?

c# delegates design-patterns

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

JSTL foreach:获取Next对象

我需要将列表中的显示产品分成3列foreach.

这是我的代码:

<table>
<c:forEach items="${lstProduct}" var="product" varStatus="status" step="3">
    <tr>
        <td>
             <!--product of column left will be display here -->
             ${product.id}
             ${product.name}
        </td>
        <td>
             <!--product of column middle will be display here -->
             <!--I need something like this:  productMiddle = product.getNext() -->
        </td>
        <td>
             <!--product of column right will be display here -->
             <!-- productRight = productMiddle.getNext() -->
        </td>
    </tr>
</c:forEach>
</table>
Run Code Online (Sandbox Code Playgroud)

问题是如何在列表中获得下一个产品?

jsp jstl

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

如何在WPF中的DataGridTextColumn中格式化工具提示的字符串

目前我需要在数据单元格列类型中格式化工具提示字符串DataGridTextColumn
这是我的尝试:

<DataGrid.Columns>
   <DataGridTextColumn Header ="Count Number">
      <DataGridTextColumn.CellStyle>
         <Style TargetType="DataGridCell">
             <Setter Property="ToolTip" 
                  Value="{Binding CountNumber, StringFormat={}{0:00}}">
             </Setter>
          </Style>
       </DataGridTextColumn.CellStyle>
       <DataGridTextColumn.Binding>
          <Binding Path="CountNumber" StringFormat="{}{0:00}" UpdateSourceTrigger="PropertyChanged" />
        </DataGridTextColumn.Binding>
   </DataGridTextColumn>

  <!-- other columns-->
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

<DataGridTextColumn.CellStyle>
       <Style TargetType="DataGridCell">
           <Setter Property="ToolTip"  Value="{Binding CountNumber}"/>
           <Setter Property="ToolTip.ContentStringFormat" Value="{}{0:00}"/>                
       </Style>
 </DataGridTextColumn.CellStyle>
Run Code Online (Sandbox Code Playgroud)

但他们都不行.
例如,数字3应显示为03.有什么想法吗?

.net c# wpf

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

Robospice - 在更改活动时保持spice服务继续运行

我使用RoboSpice库来执行异步任务.从他们的例子中,spice服务在BaseActivity中声明,它从activity的onStart方法开始,并在activity的onStop中停止.一切都很好,但是当我想从互联网下载文件,然后我改为另一个活动时,这个下载任务被取消,因为spice服务已停止.看起来像:

public abstract class BaseActivity{
  /** The request manager. */
private SpiceManager requestManager = new SpiceManager(RequestService.class);   
  @Override
   protected void onStart() {   
      requestManager.start(this);
      super.onStart();     

   }

  @Override
  protected void onStop() {
    requestManager.shouldStop();
    super.onStop();
  }
} 
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有任何安全的方法来保持下载任务继续从Spice服务运行(此任务不触摸UI),另一个任务正常工作(意味着它们可以在停止活动时取消)但它仍然可以尊重活动生活圈.

android android-service robospice

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

android中用于多种listview布局行的通用适配器

通过ID负载XML列的布局,获得控制(TextView的,ImageView的,等..),显示数据......是这样的:对于有差异的行布局模板每个列表视图,我必须创建的每个自定义适配器,它做同样的事情:

public class CommentAdapter extends BaseAdapter {

protected Activity activity;
protected static LayoutInflater layoutInflater = null;  
protected List<Comment> lst;    

public CommentAdapter(Activity activity,  List<Comment> lst){
    this.activity = activity;       
    this.lst = lst;
    layoutInflater = (LayoutInflater)this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {     
    return lst.size();
}

public Object getItem(int position) {   
    return lst.get(position);
}

public long getItemId(int position) {   
    return position;
}

public static class ViewHolder{
    public TextView textName;
    public TextView textComment;
    public ImageView image;
}

public  View getView(int position, View convertView, ViewGroup parent) { …
Run Code Online (Sandbox Code Playgroud)

android listview design-patterns android-adapter

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

opencv中的二值化和背景过滤

不久,我想在OCR之前制定预处理程序,建议来自ABBYY的技术.文章分为两部分:

  • 背景过滤:从背景中分离文本字符串. 在此输入图像描述
  • 自适应二值化:可以正确检测线条和单词,并达到更高的识别准确度.他们试图影响角色. 在此输入图像描述 在此输入图像描述

我想知道有没有办法通过使用来实现它们opencv?任何建议或示例代码将不胜感激.

ocr opencv tesseract image-processing

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

ActionBar - PullToRefresh

我正在开发一个应用程序,您可以在其中查看BusStop时间表.用户可以使用ActionBar PullToRefresh(库)进行刷新.我的应用程序还启用了KitKat上的半透明状态栏.

现在ActionBar Overlay(通常应与操作栏重叠)现在向上移位.

我怎么解决这个问题?

最好的祝福!

android android-layout android-listview android-actionbar

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