我在英特尔计算机(Win7 64位)上运行,根据我读到的,英特尔正在使用Little-Endian.我在C#中尝试使用以下代码:
byte[] b2 = new byte[] { 0, 1 };
short b2short = BitConverter.ToInt16(b2, 0);
Run Code Online (Sandbox Code Playgroud)
和Little-Endian预期的b2short == 256.
然后我在.NET中读到,BitConverter.IsLittleEndian应该反映系统正在使用的endian,当我在Visual Studio中检查变量时,它报告为false,即它不是Little-Endian.
这与64位操作系统有什么关系吗?有任何想法吗?
编辑:我的同事,坐在我对面,做了相同的测试(Win Vista 32位),得到了相同的结果
编辑2:这真的很奇怪.每当我运行代码,并在BitConverter完成它之后中断,IsLittleEndian == false.但是,如果我添加行Console.WriteLine(BitConverter.IsLittleEndian); 之后它是真的:
byte[] b2 = new byte[] { 0, 1 };
short b2short = BitConverter.ToInt16(b2, 0);
Console.WriteLine(BitConverter.IsLittleEndian);
// Now the IsLittleEndian is true
Run Code Online (Sandbox Code Playgroud)
但是,一旦我删除Console.WriteLine命令是假的一次.
我还可以补充一点,即使我在"Console.WriteLine"上打破了IsLittleEndian == true,但如果我完全删除该行则为false.
编辑3:正如Mark Gravell所指出的,这必定是一些时间错误.如果我使用变量BitConverter.IsLittleEndian它被初始化,如果我不(并在破坏时看它)它没有初始化,因此假 ...
所以,我面临的问题是我在两个活动和两个共享视图之间做的动画看起来不太好.
问题是它的"小问题",当从Activity2回到Activity1时,TextViews在动画结束时共享闪烁,从Activity2中显示"更大的文本"几分之一秒,所以它"闪烁" ".
活动1(RecyclerView有三个项目):

活动2(详情):

我在制作动画时拍摄了屏幕.从Activity2返回到Activit2时,您可以看到文本最后闪烁.这段视频(36MB,对不起大小)显示:
https://drive.google.com/file/d/0B3wIZ9CS9Kj_a0MyVFlzX1YtY0E/view?usp=sharing
问题是:我做错了什么?为什么会这样闪烁?我看到其他动画的视频,它们都非常流畅和漂亮.
我已经测试了不同类型的转换(changeBounds,explode等),但总会有一些奇怪的事情发生.任何提示,想法将不胜感激=)
我的代码
MainActivity(Activity1):
package se.snapcode.lollipoptest;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.util.Pair;
import android.view.GestureDetector;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v7.widget.RecyclerView;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private RecyclerView mRecyclerView;
private MyAdapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
GestureDetectorCompat gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
// use this setting to improve …Run Code Online (Sandbox Code Playgroud) android android-animation android-transitions activity-transition shared-element-transition
我读到了Android如何处理"配置更改" - 通过销毁活动的Activity.
我真的想知道Android Team为什么会这样.我很感激有关推理如何进行的解释,因为我不明白.正如我所看到的那样,它以这种方式行事,这使我们处于痛苦的世界.
让我们假设您有一个Activity,其中包含一些EditText:s,复选框等.如果用户开始使用文本/数据填充该表单然后更改方向(或获取Phonecall),则用户所做的所有输入都将消失.我没有找到任何保存国家的方法.这迫使我们编写极其痛苦的编码,以免丢失所有数据.
在我看来,你需要另一个"非活动"类(或者可能是"值保持"类),每个"表单元素"都有一个字段(EditText,复选框等).
对于存在的每个"表单元素",您需要附加一个像"onChanged"(或onTextChanged或类似的东西)之类的事件来更新"值保持"类中的相应字段,以确保对于每个单个字符您键入(例如在EditText中)会立即保存.
也许你可以使用一些监听器(比如"onDestroy"或其他东西)然后用数据填充值保持类.
我也发现了这条信息,他们谈论使用Bundle,onSaveInstanceState和onRestoreInstanceState,但这也意味着程序员必须手动保存,然后将值放回到正确的位置?这种方法比上面的建议稍微麻烦一点,但仍然不是很好.
有人能告诉我,我完全错了,这不是它的工作方式,我完全错过了一些重要的信息吗?
更新2011-08-29 如果我删除NodePickup中的图像,那么懒散就消失了.
问题是 - 为什么?
----
我又回来尝试一些Android开发了.我有一个"旧的"HTC Hero手机,所以我启动了一个,做了一些更新,现在又用Eclipse和其他人再次运行.
我在设备上运行了Android 2.1.
我做了一个非常简单的测试应用程序,除了显示一些活动等之外什么都不做.即使没有数据库连接,也没有从任何网络获取数据的应用程序非常慢.非常慢.
例如,我有一个带有一些自定义布局项的ListView.当只添加6-7个项目(这样我滚动)时,滚动时速度非常慢.此外,我有一些按钮可以更改活动,而且非常慢:
mButtonListenerUPP = new OnClickListener() {
@Override
public void onClick(View v)
{
Intent myIntent = new Intent(BaseActivity.this, ActivityMain.class);
BaseActivity.this.startActivity(myIntent);
}
};
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么,所以我只是在这里发布代码并希望有人给我一些提示=)
谢谢!
适配器,NodeRowAdapter
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.view.*;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class NodeRowAdapter extends ArrayAdapter
{
private Activity context;
private ArrayList<Node> mList;
private LayoutInflater inflater;
NodeRowAdapter(Activity context, ArrayList<Node> objects)
{
super(context, R.layout.nodepickup, objects);
this.context=context;
mList = objects;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); …Run Code Online (Sandbox Code Playgroud) 我使用NetBeans作为开发Android的IDE.
但是,当我得到一个例外时,Netbeans不会像我期望的那样打破异常.
我已经选中了"Stop on uncaught exception"框,可以在Options - > Java Debugger - > Stop on uncaught exception中找到,但这没有帮助.
此外,我在哪里可以看到实际的异常消息?我什么都没看到.我不知道发生异常的地点和时间,只是确实发生了.
我在netbeans.org网站上看到一些关于6.9.1中已修复的错误的内容,但它似乎没有在7.0中修复.
调试窗口根本没有说任何有用的东西,给出某种形式的堆栈跟踪是没有意义的,因为它没有指定任何我自己的代码.
我从Eclipse切换,因为IDE糟透了,NetBeans更精简,但调试需要修复才有用.
我一直在寻找Android AlertDialog,它很容易使用setItems(...)来添加要显示的字符串列表.
但是,在大多数情况下,您需要一个显示漂亮字符串的列表,但是当从列表中选择某些内容时,您需要实际值而不是字符串.
我一直无法以简单而好的方式找到如何做到这一点.
提示?=)
final Button Button1 = (Button) findViewById(R.id.Button1);
Button1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
final CharSequence[] items = { "String 1", "String 2", "String 3" };
// INstead of a string array, I want something like:
// ArrayList<CustomObject> test = new ArrayList<CustomObject>(myArray);
// And the CustomObject has a toString() and also a value. This array should in the best of worlds be the base for the list below =)
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种简单的方法来为定制的视图(化合物或其他)添加边框,我找到的唯一答案是没有内置的支持.相反,有人建议您应该在视图上方/下方添加视图以及其他一些非常混乱的方法来获取边框.
来自.NET环境是非常残酷的,必须做丑陋的解决方法和"hacks"来获得像边框一样简单的东西.
因此,我想向Android团队推荐该功能.我不确定他们怎么会错过它,但肯定错过了=)
那么,有没有官方的方法来建议SDK /框架中的功能?我看了一下,但是不能评论他们的博客,据我所知,没有电子邮件地址.
另一个问题,但它与此有关: 用Jackson反序列化JSON - 为什么JsonMappingException"没有合适的构造函数"?
这次我得到了一个不同的错误,即Jackson反序列化器抱怨我的类ProtocolContainer中没有"单字符串构造函数/工厂方法".
但是,如果我添加一个单字符串构造函数,如下所示:
public ProtocolContainer(String json) {}
Run Code Online (Sandbox Code Playgroud)
异常确实消失了,但ProtocolContainer我期望在那里的所有"空",即它的所有属性都处于初始状态,而不是根据JSON字符串填充.
这是为什么?
我很确定你不需要单一的String构造函数,如果你这样做,你就不必填充那个构造函数中的属性,对吧?
=)
我一直在谷歌搜索,以确定如何获得RecycleView中的项目的点击动画,如"点击/触摸反馈".
我可以在视图中看到我的项目,但是当我按下/点击它们时没有真正的反应.我有一个缩小版本的项目:
有谁知道如何获取RecycleView中的项目的点击动画?
如何在Android中创建以下布局?
我想要一个"标题",即一直保持不变的标题.唯一应该改变的是标题下面的区域.
把它想象成一个网页,其中内容区域是它发生的全部=)
+--------------------+
| H E A D E R |
+--------------------+
| |
| |
| |
| C O N T E N T |
| |
| |
| |
+--------------------+
Run Code Online (Sandbox Code Playgroud)
当然,它很容易创建一个LinearLayot,在顶部添加一个视图,然后在下面添加另一个视图 - tada!但是接下来的是你如何"设置"或设计项目,以便轻松改变内容中的内容.
我真正想要的是能够"滑动"(参见这里)该区域,然后只是"滚入"内容区域中的新视图/事物,但保持相同的标题.
我真正想念的是一个综合的layoyt示例库...
问候