我以编程方式进行了以下布局:
LinearLayout progressLayout = new LinearLayout(this);
progressLayout.setOrientation(LinearLayout.VERTICAL);
TextView t = new TextView(this);
t.setText("Test..");
t.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20);
LayoutParams l = new LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
l.setMargins(10, 10, 10, 25); ===> does not work?
t.setLayoutParams(l);
ProgressBar circle = new ProgressBar(this, null,
android.R.attr.progressBarStyleLarge);
circle.setLayoutParams(new LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
progressLayout.setLayoutParams(new LayoutParams(
android.view.ViewGroup.LayoutParams.FILL_PARENT,
android.view.ViewGroup.LayoutParams.FILL_PARENT));
progressLayout.setGravity(Gravity.CENTER);
progressLayout.addView(t);
progressLayout.addView(circle);
this.setContentView(progressLayout);
Run Code Online (Sandbox Code Playgroud)
但是我没有把它作为setMargins中的值给出,它根本没有任何效果.
是什么原因?
布局具有fill_parent的高度和宽度,因此不会出现问题.
谢谢 :)
我有一个快速的问题.
我有一个带有一些数字的屏幕,当你点击其中一个数字时,数字会附加到edittext的末尾.
input.append(number);
Run Code Online (Sandbox Code Playgroud)
我也有一个后退按钮,当用户单击此按钮时我想删除最后一个字符.
目前我有以下内容:
Editable currentText = input.getText();
if (currentText.length() > 0) {
currentText.delete(currentText.length() - 1,
currentText.length());
input.setText(currentText);
}
Run Code Online (Sandbox Code Playgroud)
有更简单的方法吗?input.remove()行中的东西?
我正试图赶上一个叫做广播的电话,但它没有用.
这是我的表现:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.bgPicture"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<receiver android:name=".PhoneStateBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
Run Code Online (Sandbox Code Playgroud)
这是我的广播接收器
package com.test.bgPicture;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
public class PhoneStateBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我打电话给相机应用程序拍照.在我的活动结果中,我启动了一个asynctask来处理照片.(旋转并上传照片).
我还想从图库中删除照片.为此,我在asynctask中执行以下代码.
// Delete image from gallery
String[] imageColumns = { MediaStore.Images.Media._ID };
String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
String imageWhere = MediaStore.Images.Media._ID + ">?";
String[] imageArguments = { Integer.toString(captureLastID) };
CursorLoader imageLoader = new CursorLoader(mActivity);
imageLoader.setUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
imageLoader.setProjection(imageColumns);
imageLoader.setSelection(imageWhere);
imageLoader.setSelectionArgs(imageArguments);
imageLoader.setSortOrder(imageOrderBy);
Cursor imageCursor = imageLoader.loadInBackground();
if (imageCursor.getCount() > 0) {
while (imageCursor.moveToNext()) {
int id = imageCursor.getInt(imageCursor
.getColumnIndex(MediaStore.Images.Media._ID));
ContentResolver cr = mActivity.getContentResolver();
cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
MediaStore.Images.Media._ID + "=?",
new String[] { Long.toString(id) });
break;
}
}
imageCursor.close();
Run Code Online (Sandbox Code Playgroud)
我收到了错误
无法在未调用Looper.prepare的线程内创建处理程序
是什么导致此错误,我该如何解决?它是否与我调用loadInBackground这一事实有关,而asynctask已经在后台运行了?
这是我的logcat: …
我想用谷歌地图距离矩阵API计算C#中各点之间的距离.
我使用以下代码来发出请求:
private void MapsAPICall()
{
//Pass request to google api with orgin and destination details
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create("http://maps.googleapis.com/maps/api/distancematrix/json?origins="
+ "51.123959,3.326682" + "&destinations=" + "51.158089,4.145267"
+ "&mode=Car&language=us-en&sensor=false");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
if (!string.IsNullOrEmpty(result))
{
Distance t = JsonConvert.DeserializeObject<Distance>(result);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我想将json答案解析为Distance类:
public struct Distance
{
// Here I want to parse the distance and duration
}
Run Code Online (Sandbox Code Playgroud)
以下是我收到的json响应示例:http://maps.googleapis.com/maps/api/distancematrix/json?origins = Vancouver + BC &destinations = San + …
我有两个数字(从0到9),我想将它们组合成1个字节.数字1取0-3位,数字2取4-7位.
示例:我的编号为3和4.
3 = 0011,4是0100.
结果应为0011 0100.
如何使用这些二进制值创建一个字节?
这就是我目前拥有的:
public Byte CombinePinDigit(int DigitA, int DigitB)
{
BitArray Digit1 = new BitArray(Convert.ToByte(DigitA));
BitArray Digit2 = new BitArray(Convert.ToByte(DigitB));
BitArray Combined = new BitArray(8);
Combined[0] = Digit1[0];
Combined[1] = Digit1[1];
Combined[2] = Digit1[2];
Combined[3] = Digit1[3];
Combined[4] = Digit2[0];
Combined[5] = Digit2[1];
Combined[6] = Digit2[2];
Combined[7] = Digit2[3];
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,我有ArgumentOutOfBoundsExceptions
我希望我的弹出窗口与另一个控件的宽度相同,但有一些边距。
我想要的是
<Popup x:Name="ProfilePopup" Height="Auto"
Width="{Binding ActualWidth, ElementName=HeaderContainer}" -10 >
Run Code Online (Sandbox Code Playgroud)
但是你如何做 wpf 中的“-10”部分?或者这只能在代码中实现?
我收到了一个包含来自API的换行符的文本,但我无法使换行符正常工作.
这是我要展示的文字的一部分.http://pastebin.com/CLnq16mP(粘贴在那里因为stackoverflow上的格式不正确.)
我试过这个:
termsAndConditionsTextView.setText(Html.fromHtml("<html><body>" + textResponse.getText() + "</body></html>"));
Run Code Online (Sandbox Code Playgroud)
还有这个:
termsAndConditionsTextView.setText(Html.fromHtml(textResponse.getText()));
Run Code Online (Sandbox Code Playgroud)
但是总是忽略换行符(\ r \n)和空格.
我怎样才能解决这个问题?
我正在研究一个解析从家庭自动化模块获得的二进制数据的DLL.
但我需要一些关于我的代码的建议.
所以我得到一个带有一些字节的消息,在这种情况下每个位表示一定的条件.
在我目前的每个条件都是枚举的代码中,我将枚举放在一个数组中,并检查是否设置了相应的位.
private void ParseZoneConditionFlag1(int Flag1) // Flag1 = Hex represenation of byte
{
Zone_Status_ZoneConditionFlagEnum[] FlagArray = new Zone_Status_ZoneConditionFlagEnum[8];
FlagArray[0] = Zone_Status_ZoneConditionFlagEnum.Faulted;
FlagArray[1] = Zone_Status_ZoneConditionFlagEnum.Tampered;
FlagArray[2] = Zone_Status_ZoneConditionFlagEnum.Trouble;
FlagArray[3] = Zone_Status_ZoneConditionFlagEnum.Bypassed;
FlagArray[4] = Zone_Status_ZoneConditionFlagEnum.Inhibited;
FlagArray[5] = Zone_Status_ZoneConditionFlagEnum.Low_Battery;
FlagArray[6] = Zone_Status_ZoneConditionFlagEnum.Loss_Supervision;
FlagArray[7] = Zone_Status_ZoneConditionFlagEnum.Reserved;
base.CheckBitsSet(FlagArray, Flag1, ZoneConditionFlags_List);
}
private void ParseZoneConditionFlag2(int Flag2)
{
Zone_Status_ZoneConditionFlagEnum[] FlagArray = new Zone_Status_ZoneConditionFlagEnum[8];
FlagArray[0] = Zone_Status_ZoneConditionFlagEnum.Alarm_Memory;
FlagArray[1] = Zone_Status_ZoneConditionFlagEnum.Bypass_Memory;
FlagArray[2] = Zone_Status_ZoneConditionFlagEnum.Reserved;
FlagArray[3] = Zone_Status_ZoneConditionFlagEnum.Reserved;
FlagArray[4] = Zone_Status_ZoneConditionFlagEnum.Reserved;
FlagArray[5] = Zone_Status_ZoneConditionFlagEnum.Reserved;
FlagArray[6] = Zone_Status_ZoneConditionFlagEnum.Reserved; …
Run Code Online (Sandbox Code Playgroud) 我有一个带有SearchFragment和SearchResultFragment的MainActivity.
当用户按下搜索按钮时,我使用SearchParameters作为参数从SearchFragment回调到MainActivity.
在MainActivity上,我展示了一个LoadFragment并加载了结果.
当我收到结果时,我想将结果对象列表传递给SearchResultFragment.
做这个的最好方式是什么?
我知道你通常会这样做,如果它只是一个结果:
public static SearchResultFragment newInstance(SearchResult result) {
SearchResultFragment f = new SearchResultFragment();
Bundle args = new Bundle();
args.putInt("result", result); // Make result parceable
f.setArguments(args);
return f;
}
Run Code Online (Sandbox Code Playgroud)
但是如何使用对象列表执行此操作?
我能想到的另一个解决方案是在片段的onAttach方法中引用MainActivity,然后在MainActivity上调用方法getResults().
什么是最好的方式?
android ×6
c# ×3
binary ×1
bit ×1
bitarray ×1
byte ×1
enums ×1
google-maps ×1
html ×1
json ×1
line-breaks ×1
parcelable ×1
wpf ×1