我一直试图获得一个列表,其中包含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
在代码中:
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())
最后,两者之间有什么区别吗?
谢谢..
我一直试图获得一张图片,但到目前为止我还没有成功.
该打印机是本地制造的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) 我正在将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
我想构建一个自定义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) 我会直接了解我发现的一些事实/数据,如果你遇到/解决了类似的问题,请帮助我.
我发回的数据每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())有没有人有相同的解决方案?
我想运行我的异步任务,它以一定的准确度获取共同的声音,并在它获得坐标时激发不同的活动.
现在我想设置一个时间,这样如果它没有得到设定精度的坐标,那么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) 我在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)
我在一项活动中有 16 个复选框,用户必须从中选择 8 个复选框中的任意一个。
因此,最终用户将从其中的 16 个复选框中选择 2 个。
更新:复选框已经存在于 xml 布局文件中。所以,我确实可以访问他们的 ID
直到现在,我正在考虑实现一个简单的 onCheckedChange 侦听器,并在 switch case 块中选择 8 个复选框中的任意 1 个复选框并取消选择其余 7 个复选框。但这种方法极其痛苦。
此外,当我需要提取其中的哪个被选中时,这将是一团糟。
那么,我可以做这两件事的最简单而灵活的方法是什么?欢迎提出建议
谢谢
我有一个简单的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的键和值均显示正确的值,但仍在发生异常。任何帮助,将不胜感激,谢谢。
我试图根据字母值对哈希图进行排序,该值本身存储在另一个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)
如何进行?