我有一个客户代码.所有片段只有一个活动,即单个活动管理所有片段.
此活动包含该片段方法末尾的任何片段的以下代码 -
例如 - 片段MoreFragment:
MoreFragment firstFragment = new MoreFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.article_fragment, firstFragment)
.addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)
所以,
1)addToBackStack(null)
后面跟一个是什么意思commit()
?
2)为什么需要传递null参数addToBackStack
?
3)如何在这样添加之后获取该片段?
似乎这个代码没用,因为我运行没有最后一行的代码.addToBackStack(null).commit()
,它运行没有任何问题.
我有时间跨度:
String time1 = 01:00:00
String time2 = 05:00:00
我想检查time1和time2是否介于两者之间20:11:13 and 14:49:00
.
实际上,01:00:00
大于20:11:13
和小于14:49:00
考虑20:11:13
总是小于14:49:00
.这是先决条件.
所以我想要的是,20:11:13 < 01:00:00 < 14:49:00
.
所以我需要这样的东西:
public void getTimeSpans()
{
boolean firstTime = false, secondTime = false;
if(time1 > "20:11:13" && time1 < "14:49:00")
{
firstTime = true;
}
if(time2 > "20:11:13" && time2 < "14:49:00")
{
secondTime = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这个代码没有给出正确的结果,因为我正在比较字符串对象.
怎么做,因为他们是时间跨度而不是比较的字符串?
四个视图使用相同的xml.我想只显示一个线性布局view 1
.我放入android:visibility="gone"
xml.然后我正在做以下事情view 1
-
LinearLayout layone= (LinearLayout) view.findViewById(R.id.layone);
layone.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)
但这并未将可见性设置为可见.
一旦GONE
在xml中声明了视图,是不是可以显示它?
我不想通过这样做来反驳逻辑,
layone.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
在除视图1之外的三个视图中的每个视图中.
想法或评论?
更新:
我的xml -
<TextView
android:id="@+id/layone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous Page"
android:textColor="#000000"
android:textSize="16dp"
android:paddingLeft="10dp"
android:layout_marginTop="10dp"
android:visibility="gone" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:padding="10dp"
android:gravity="center_vertical"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:tag="PrevEntries"
android:id="@+id/laytwo"
android:layout_marginTop="10dp"
android:background="@layout/roundedtext"
android:visibility="gone" >
<TextView
android:id="@+id/laythree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous Page"
android:textColor="#000000"
android:textSize="18dp"
android:gravity="center"
android:textStyle="bold" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我能够发现,连接到蓝牙.
源代码 - -
通过蓝牙连接到远程设备:
//Get the device by its serial number
bdDevice = mBluetoothAdapter.getRemoteDevice(blackBox);
//for ble connection
bdDevice.connectGatt(getApplicationContext(), true, mGattCallback);
Run Code Online (Sandbox Code Playgroud)
Gatt CallBack for Status:
private BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
//Connection established
if (status == BluetoothGatt.GATT_SUCCESS
&& newState == BluetoothProfile.STATE_CONNECTED) {
//Discover services
gatt.discoverServices();
} else if (status == BluetoothGatt.GATT_SUCCESS
&& newState == BluetoothProfile.STATE_DISCONNECTED) {
//Handle a disconnect event
}
}
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) …
Run Code Online (Sandbox Code Playgroud) 如何获取应用程序中正在设备上运行的所有活动的列表.
例如:包括pdf生成和电子邮件活动.
我可以使用以下代码检查活动:
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
// get the info from the currently running task
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
Log.d("topActivity", "CURRENT Activity ::"
+ taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
componentInfo.getPackageName();
Run Code Online (Sandbox Code Playgroud)
但是,这将提供有关作为最高活动的运行活动的信息.
我的想法是将运行的活动列入白名单,以便我的第三方应用程序可以在设备上运行它.所以我基本上需要应用程序中的所有运行活动.
我的初始代码行在重写方法中onGlobalLayout()
:
img.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 100));
Run Code Online (Sandbox Code Playgroud)
在重写方法中发生ClassCastException onGlobalLayout()
-
错误日志:
09-02 14:25:35.326: E/AndroidRuntime(5187): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.support.v4.view.ViewPager$LayoutParams
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1319)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.view.View.measure(View.java:15181)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.view.View.measure(View.java:15181)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
09-02 14:25:35.326: E/AndroidRuntime(5187): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
Run Code Online (Sandbox Code Playgroud)
当我执行以下操作以解决上述错误时,如其他SO帖子中所示:
img.setLayoutParams(new ViewPager.LayoutParams(ViewPager.LayoutParams.MATCH_PARENT, 100));
Run Code Online (Sandbox Code Playgroud)
然后,我得到编译时错误:
The constructor ViewPager.LayoutParams(int, int) is undefined
Run Code Online (Sandbox Code Playgroud)
xml中的ViewPager定义如下:
<android.support.v4.view.ViewPager
android:id="@+id/HView"
android:layout_width="560dp"
android:layout_height="255dp"
android:layout_centerHorizontal="true"
android:layout_marginLeft="160sp"
android:layout_marginTop="110sp"
android:layout_marginBottom="80sp">
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud) 我在应用程序清单文件中定义了这些类别:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
如果我删除该行 -
<category android:name="android.intent.category.HOME"/>
它不会影响应用程序功能的任何部分,我可以在我的Android设备的主屏幕启动器列表中看到我的应用程序.
但是,如果我删除最后一行 -
<category android:name="android.intent.category.LAUNCHER" />
我看到我的应用程序从我的Android设备的主屏幕启动器列表中消失的更改.
所以我的问题是这个类别HOME的目的是什么,它的常用用途是什么.
如果这个类别的唯一目的是启动android文档中提到的主屏幕,那么我可以通过以下方式做到:
Intent homeIntent= new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);
Run Code Online (Sandbox Code Playgroud) apk上传未能进入谷歌游戏市场.
我正在尝试将我的应用程序的升级版本上传到谷歌播放,但我一直收到消息 -
Upload failed
You need to use a different version code for your APK because you already have one with version code 1.
Your APK needs to have the package name com.corntail.project.
Run Code Online (Sandbox Code Playgroud)
还有一些东西在寻找,com.corntail.project
而且还没有找到.
更新:
在我AndroidManifest.xml
的相关代码是 -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.corntail.main"
android:versionCode="1"
android:versionName="1.0" >
Run Code Online (Sandbox Code Playgroud) 有没有办法确定给定图像样式的存在?
例如,要确定图像是否存在,我们可以:
<% if @user.avatar.exists? %>
<%= image_tag @user.avatar.url(:large), :id => "cropbox" %>
Run Code Online (Sandbox Code Playgroud)
但是,我们如何确定图像是否以特定的样式存在,比如说thumb
?上述条件仅确定其original
样式中图像的存在.
在Rails i18n中,如何使用以下内容获取某个键的所有值:
translations = I18n.backend.send(:translations)
Run Code Online (Sandbox Code Playgroud)
得到所有的钥匙
我需要能够获得某个部分,例如只返回"home"下的所有内容
en:
home:
test: test
Run Code Online (Sandbox Code Playgroud)