小编bee*_*ear的帖子

警报对话框中具有多选复选框的列表?

我一直试图获得一个列表,其中包含10-12个项目,每个项目在警报对话框中都有一个复选框(即我的活动开始时).到目前为止,我已经提出了以下代码; 它没有复选框.
那么,我该如何实现呢?任何示例代码或建议将不胜感激.
谢谢

final CharSequence[] items = {"cat1","cat2","cat3" };
          AlertDialog.Builder builder = new AlertDialog.Builder(this);
          builder.setTitle("Categories");
          builder.setItems(items, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int item) {
            switch (item) {
            case 0:
             //handle item1
             break;
            case 1:
             //item2
             break;
            case 2:
             //item3
             break;
            default:
             break;
            }  }
          });
          AlertDialog alert = builder.create();
          alert.show();
Run Code Online (Sandbox Code Playgroud)

android android-listview android-alertdialog android-checkbox

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

URL.openConnection()和URLConnection.connect()之间的区别?

在代码中:

HttpURLConnection connection = (HttpURLConnection)createMerchURL.openConnection();
connection.setRequestMethod("PUT");
connection.addRequestProperty("Name", "Value1");

connection.connect();

..
connection.disconnect();
Run Code Online (Sandbox Code Playgroud)
  • 什么时候连接实际打开?在..createMerchURL.openConnection();?还是在connection.connect();

  • 如何在connection对象中设置URL 并将其与connection.connect()?一起使用?(因为我不太熟悉.openConnection())

最后,两者之间有什么区别吗?

谢谢..

java android httpurlconnection

6
推荐指数
2
解决办法
5876
查看次数

使用蓝牙热敏打印机从Android应用程序打印图像?


我一直试图获得一张图片,但到目前为止我还没有成功.

该打印机是本地制造的2英寸热敏打印机,打印分辨率为8点/ mm,384点/线,203 dpi.
该打印机基于具有"NXP 2388 ARM v7 Microproc."的板,其内存闪存大小为512 KB,RAM:128 KB,接收缓冲区大小为16KB.

我一直关注这个问题.

问题:我尝试打印的图像是576x95 res. 在此输入图像描述

打印图像(有一些错误LED点亮并调试蜂鸣器噪音:D)但图像的方向是垂直的而不是水平打印; 也是在页面的最左侧,图像的顶部被截断

假设在这里我没有通过一些标志(同时使"数据包")与我拥有的打印机兼容.

我之前没有从事蓝牙打印,所以任何帮助都很明显:)

我现有的主要活动:

public class MainActivity extends Activity 
    {
    // will show the statuses
    TextView myLabel;
    // will enable user to enter any text to be printed
    EditText myTextbox;
    EditText devName;
    public TableLayout tl2; 
    String devid;
    String[] pName;
    String[] LODQTY;
    String[] rte;
    String[] stk;
    String[] oQty;
    String[] oVal;
    String[] fQty;

    BitSet dots;
    int mWidth;
    int mHeight;
    String mStatus;
    String TAG = …
Run Code Online (Sandbox Code Playgroud)

java android bytearray bitmap bitmapfactory

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

使用Android DataBinding进行共享元素转换

我正在将Conductor API与Android DataBinding一起使用,并且一直在尝试从控制器视图到另一个控制器视图进行简单的共享元素转换,但它无法正常工作.

点击demoS列表中的"Android数据绑定"演示将带您进入一个屏幕,点击显示的textView应该将其转换到下一个屏幕.

但是现在它已经消失了.

这是的东西,这里有一张相同的.

更新:我认为在BindedBaseController类中有些不对劲

public abstract class BindedBaseController extends Controller {

    private ViewDataBinding mViewDataBinding;

    protected BindedBaseController() {
    }

    protected BindedBaseController(Bundle args) {
        super(args);
    }

    protected abstract View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container);

    @NonNull
    @Override
    protected View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
        View view = inflateView(inflater, container);
        mViewDataBinding = DataBindingUtil.bind(view);
        onViewBound(view);
        return view;
    }

    protected void onViewBound(@NonNull View view) {
    }

    @Override
    protected void …
Run Code Online (Sandbox Code Playgroud)

android shared-element-transition android-databinding conductor

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

自定义SeekBar,可在缓冲时更改进度颜色和背景颜色


我想构建一个自定义SeekBar,它有一个辅助进度条,但默认情况下是端到端,显示缓冲数据的进度.

可以把它想象成大多数在线视频播放器(例如youtube)提供的搜索栏.总而言之,我们有默认的搜索栏,默认进度条和辅助进度条,它可以填充颜色,而不管主进度/用户拖动搜索条的缺口,只依赖于缓冲数据.

直到现在我只有正常的搜索栏,它会改变用户拖动/设置进度的颜色.
有人可以帮忙吗?

到目前为止我的代码:
seekbar_progress.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/progress_background_fill"/>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/progress_fill" />
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

progress_fill.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <gradient
        android:angle="180"
        android:centerColor="#FFB80000"
        android:endColor="#FFFF4400"
        android:startColor="#FF470000" />

    <corners android:radius="5px" />

    <stroke
        android:width="2dp"
        android:color="#50999999" />
    <stroke
        android:width="1dp"
        android:color="#70555555" />

</shape>
Run Code Online (Sandbox Code Playgroud)

progress_background_fill.xml

<gradient
    android:angle="90"
    android:centerColor="#FF555555"
    android:endColor="#FF555555"
    android:startColor="#FF555555" />

<corners android:radius="5px" />

<stroke
    android:width="2dp"
    android:color="#50999999" />
<stroke
    android:width="1dp"
    android:color="#70555555" />
Run Code Online (Sandbox Code Playgroud)

像这样应用这些xml:

<SeekBar 
            android:id="@+id/seek_hist_timeline"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:progressDrawable="@drawable/seekbar_progress" />
Run Code Online (Sandbox Code Playgroud)

android colors seekbar android-styles

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

无法从后台服务通过WiFi访问Internet

我会直接了解我发现的一些事实/数据,如果你遇到/解决了类似的问题,请帮助我.

我发回的数据每5分钟到一个服务器,除非用户手动切换它砍掉的帮助下wakeful broadcast receiver通过intent service.另外我在做之前得到了wifi锁(我已经尝试过这个没有锁;也没有工作)

现在,从普通数据网络发回数据设备(2G/3G/4G)能正常工作,但对那些连接到WiFi网络在某种程度上得到我getActiveNetworkInfo()null(甚至直接打到该网页的网址给出了hostname not found error)这确实发生在HTC一(安装v.4.4.2)其他设备工作正常.

  • 我们都知道,即​​使网络没有/可用,以前的官方连接管理器在返回过多的真/假条件方面也存在问题.我非常怀疑他们是否再次出现或只是一些定制的OEM jing-bang

  • 警报被触发>> wakeful broadcast receiver >> get wifi locks >> sleep the thread for 3 secs inside the获取锁后触发onReceive`以等待wifi恢复连接>>之后我的服务工作.

  • 我正在权衡强制使用移动数据连接而不是wifi的可能性.(通过使用startUsingNetworkFeature())有没有人有相同的解决方案?

java android connectivity android-networking android-wifi

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

如何为设置超时运行异步任务?

我想运行我的异步任务,它以一定的准确度获取共同的声音,并在它获得坐标时激发不同的活动.

现在我想设置一个时间,这样如果它没有得到设定精度的坐标,那么Async任务应该自行销毁(删除位置更新等)并传递Lattitude/Longitude的默认值.

我尝试使用这个: new GetGPShotfix().execute().get(1, TimeUnit.MINUTES);以便为此异步设置一个超时的超时,然后继续执行此异步执行调用下面的下一行/任务.

但在我的情况下,它跳过下一行而不等待Async设置的超时.

我怎样才能让它按照我想要的方式执行?我也试过使用线程join()但显然结果是相同的:(

更新:这是我的代码(对于gpshotfix()异步):

private class GetGPShotfix extends AsyncTask<Void, Void, Void> {
    // ProgressDialog progressDialogGPS;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Log.i("GPSfixer", "Ready to get GPS Hotfix");



    }

    @Override
    protected Void doInBackground(Void... params) {

        try {
            LocationRetriever myLoc = new LocationRetriever();
            // myLoc.getUserLoc();
            //if (gotLoc == 0  && (firstLoc.getAccuracy() > 10)) {
            if (gotLoc == 0) {
                myLoc.getUserLoc();
            }


        } catch (Exception e) {
            Log.i("GPSfixer", "GPS Hotfix Failed!", e);

        }

        finally …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask

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

错误:光标在没有事先关闭的情况下完成

我在Android上有一个基于Google Map的应用程序.
简而言之,该应用程序的工作原理是:首先输入一些样本数据(包含纬度/经度对到数据库中),读取它们,最后在地图叠加层上绘制它们.

当我在Android 2.3.3(Gingerbread)模拟器以及我的HTC Desire S上运行它时,此应用程序正常工作.但是当我在Android 4.0.3(ICS)模拟器中尝试相同的应用程序时(在清单文件中进行更改后)对于sdk版本)Cursor Finalized without Prior Close()当我尝试执行活动时出错.使用NullPointer异常和应用程序崩溃.

StackTrace pastebin在这里
更新的方法

public int getAllEntries() {
        //int entryCount;
        Cursor cursorE = db.rawQuery("SELECT COUNT(LATS) FROM myPROmapData",
                null);
try {
            if (cursorE.moveToFirst()) {
                return cursorE.getInt(0);
            }   
            return cursorE.getInt(0);
            } finally {
              cursorE.close();
            }
    }

--
public Double[] PopulateLats() {

        //id = getAllEntries();

        int LatcolumnIndex = 0;

        Cursor cursor = db.rawQuery("SELECT LATS FROM myPROmapData", null);
        try {
            Double myLats[] = new Double[cursor.getCount()];;
            if (cursor.moveToFirst()) {

                for (int …
Run Code Online (Sandbox Code Playgroud)

java sqlite android android-cursor

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

从多个复选框中选择一个复选框并让用户选择复选框


我在一项活动中有 16 个复选框,用户必须从中选择 8 个复选框中的任意一个。
因此,最终用户将从其中的 16 个复选框中选择 2 个。

更新:复选框已经存在于 xml 布局文件中。所以,我确实可以访问他们的 ID

直到现在,我正在考虑实现一个简单的 onCheckedChange 侦听器,并在 switch case 块中选择 8 个复选框中的任意 1 个复选框并取消选择其余 7 个复选框。但这种方法极其痛苦。

此外,当我需要提取其中的哪个被选中时,这将是一团糟。

那么,我可以做这两件事的最简单而灵活的方法是什么?欢迎提出建议
谢谢

checkbox android android-checkbox

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

NPE关于将键/值放入HashMap

我有一个简单的Hashmap public HashMap<String,String> StoreDet;。现在,每当我尝试将某些值设为:

String val = (eElement.getElementsByTagName("name").item(0)
        .getTextContent()
        + "^"
        + eElement.getElementsByTagName("state").item(0)
                .getTextContent() + "^" + eElement
        .getElementsByTagName("city").item(0).getTextContent());
val = val.trim().toString();
System.out.println(val);

String key = eElement.getAttribute("id").trim().toString();
System.out.println(key);
//System.out.println(eElement.getAttribute("id")+" "+ (eElement.getElementsByTagName("name").item(0).getTextContent()+"^"+eElement.getElementsByTagName("state").item(0).getTextContent()+"^"+eElement.getElementsByTagName("city").item(0).getTextContent()));
//(eElement.getElementsByTagName("name").item(0).getTextContent()+"^"+eElement.getElementsByTagName("state").item(0).getTextContent()+"^"+eElement.getElementsByTagName("city").item(0).getTextContent())

StoreDet.put(key, val); // I get an NPE at this line
Run Code Online (Sandbox Code Playgroud)

我在指定的行得到了NPE。SOP的键和值均显示正确的值,但仍在发生异常。任何帮助,将不胜感激,谢谢。

java android hashmap

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

根据值对Map内的HashMap进行排序


我试图根据字母值对哈希图进行排序,该值本身存储在另一个Map中.

结构如下: Map<String, HashMap<String, String>>

我想根据HashMap里面的值对这个Map进行排序,这样就可以根据HashMap的值对所有完整的地图进行排序,以便作为HashMap进行排序.

- 更新:

例如,如果我有类似的东西:

Map: abc Value: HashMap[EN, a]
Map: xyz Value: HashMap[DE, c]
Map: pqr Value: HashMap[PL, b]
Run Code Online (Sandbox Code Playgroud)

排序后应该是这样的:

Map: abc Value: HashMap[EN, a]
Map: pqr Value: HashMap[PL, b]
Map: xyz Value: HashMap[DE, c]
Run Code Online (Sandbox Code Playgroud)

如何进行?

java sorting android hashmap

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