我有一个在下面的xml文件中定义的形状,现在我想以编程方式更改为纯色.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#DFDFE0" />
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
<stroke
android:width="3dp"
android:color="#2E3135" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我想我应该有一个扩展ShapeDrawable的类,并实现onDraw方法.谁知道怎么样?
我定义了一个视图,它扩展了RelativeLayout,我想提取其id在layout xml文件中指定的子节点.
在HeaderView.java:
1 package com.example.test;
2
3 public class HeaderView extends RelativeLayout {
4
5 public HeaderView(Context context, AttributeSet attrs) {
6 this(context, attrs, 0);
7
8 TypedArray arr = context.obtainStyledAttributes(attrs, R.styleable.HeaderView, 0, 0);
9
10 int headerId = 0;
11 int containerId = 0;
12
13 // find attributes
14 if (arr != null) {
15 if (arr.hasValue(R.styleable.HeaderView_headerview_header)) {
16 headerId = arr.getResourceId(R.styleable.HeaderView_headerview_header, 0);
17 }
18 if (arr.hasValue(R.styleable.HeaderView_headerview_container)) {
19 containerId = arr.getResourceId(R.styleable.HeaderView_headerview_container, …Run Code Online (Sandbox Code Playgroud) 当我使用gradle构建并运行apk时,我得到以下错误::::
Error:Execution failed for task ':app:transformNative_libsWithMergeJniLibsForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/armeabi-v7a/libgnustl_shared.so
File1:
app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.20.1/jni
File2:
app/build/intermediates/exploded-aar/app/videosdk/unspecified/jni
Run Code Online (Sandbox Code Playgroud) java-native-interface android duplicates android-library android-gradle-plugin
也许你想打电话addHeaderView()或addFooterView()在GridView,它没有.
我们想要将标题视图或页脚视图添加到a的本质GridView.也许你和我一样长时间搜索,但最终找不到解决方案.
在这里,我将给出一个解决方案.
我们有一段简单的代码:
1 <?php
2 $i = 2;
3 $j = &$i;
4 echo (++$i) + (++$i);
Run Code Online (Sandbox Code Playgroud)
在PHP5上,它输出8,因为:
$i为参考,当我们增加$i的++i,它会改变zval,而不是做一个副本,因此4号线会4 + 4 = 8.这是按参考分配.
如果我们评论第3行,它将输出7,每次我们通过增加它来改变它,PHP将复制,第4行将是3 + 4 = 7.这是Copy On Write.
但在PHP7中,它总是输出7.
我已经检查了PHP7中的更改:http://php.net/manual/en/migration70.incompatible.php ,但我没有得到任何线索.
任何帮助都会很棒,提前谢谢.
UPDATE1
以下是PHP5/PHP7上代码的结果:https://3v4l.org/USTHR
UPDATE2
操作码:
[huqiu@101 tmp]$ php -d vld.active=1 -d vld.execute=0 -f incr-ref-add.php
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename: …Run Code Online (Sandbox Code Playgroud) 当我使用Android数据绑定include在我的xml文件中的非根元素中使用标记时,应用程序崩溃.但是当标记放在根元素中或没有数据绑定时,应用程序运行良好.include
这是我的源代码,任何人都可以帮我弄清楚原因吗?
activity_main.xml中
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/include_layout" />
</LinearLayout>
</LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.textView.setText("hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
I/ActivityManager(13254): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.liangfeizc.databindings/.MainActivity (has extras)} from uid 10008 on display 0
I/ActivityManager(13254): Start proc com.liangfeizc.databindings for activity com.liangfeizc.databindings/.MainActivity: pid=18181 uid=10065 gids={50065, 9997} …Run Code Online (Sandbox Code Playgroud) 编译简单代码片段时test.cpp:
#include <stdint.h>
#include <stdio.h>
int main()
{
intmax_t max = INTMAX_MAX;
printf("%jd", max);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
[huqiu@101 ~]$ g++ -o test.o test.cpp
test.cpp: In function ‘int main()’:
test.cpp:5: error: ‘INTMAX_MAX’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)
编译器信息:
[huqiu@101 ~]$ which g++
/usr/bin/g++
Run Code Online (Sandbox Code Playgroud)
和版本:
[huqiu@101 ~]$ g++ -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib …Run Code Online (Sandbox Code Playgroud) 关于php的问题.
如果我有一个名为$ string的变量,其中包含"Testing"我希望php代码删除第一个和最后一个字符的单词.(所以输出就是"estin").我已经尝试了多个函数str_replace,substr但到目前为止我只设法删除了第一个或唯一的最后一个字符.
我不知道如何删除第一个和最后一个字符.