我有一个Xoom平板电脑,如果我可以使用R进行统计分析,那就太棒了.据我所知,由于许可证问题(GPl x iTunes等)以及苹果平板电脑中缺少Fortran编译器,因此无法在iPad上使用R.
但是使用Android的平板电脑怎么样?可以说,GPL问题不是问题,所以有关如何在平板电脑上使用R的任何帮助吗?
你可以在片段中放置片段以获取Action Bar中的选项卡吗?
我有一个Android(3.0/Honeycomb)应用程序,其主要活动有一个带有3个选项卡的Action Bar.选项卡将添加到我的activity的onCreate()方法中,并使用TabListener添加/删除选项卡片段.该代码与http://developer.android.com/guide/topics/ui/actionbar.html#Tabs上的示例几乎完全相同.
TabListener看起来像这样:
public class SwapOutTabListener implements ActionBar.TabListener {
public SwapOutTabListener(Fragment fragment) {
_fragment = fragment;
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.add(R.id.fragment_container, _fragment, null);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(_fragment);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// do nothing
}
private Fragment _fragment;
}
Run Code Online (Sandbox Code Playgroud)
我的两个标签是简单的片段,它们只包含一个TextView,有点像这样(为清晰起见,删除了大多数属性):
<LinearLayout>
<TextView android:text="Tab 1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但我的一个标签的片段更复杂,并包含两个嵌入的片段,有点像这样:
<LinearLayout>
<fragment
android:name="...Fragment_1"
android:id="@+id/frag1"
/>
<fragment
android:name="...Fragment_2"
android:id="@+id/frag2"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当用户选择此片段的选项卡时,将调用所有三个片段(选项卡片段以及两个嵌入片段)的所有启动生命周期方法(onStart(),onResume()).
但是当用户然后选择另一个选项卡时,只有选项卡片段获得任何生命周期结束方法(onPause(),onStop()等).两个嵌入的片段永远不会得到任何这些调用,也永远不会关闭.
重新选择选项卡时会出现问题,因为运行时在加载选项卡片段时会抱怨重复的片段ID: …
我想声明一个自定义视图,但我也希望带有向上图标的主页徽标显示在左侧,并带有默认功能.如何同时使用两者?
仅当为3.0之前的设备使用兼容性库时才会发生这种情况
我收到一个我无法确定的错误.我有一个带有ListFragment和标准片段的Activity.它就像Android Dev Guide的Developers部分中提供的示例一样.
ListFragment子类(未覆盖任何函数)
public class ItemListFragment extends ListFragment
Run Code Online (Sandbox Code Playgroud)
主要活动
public class ItemViewerActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_viewer);
}
}
Run Code Online (Sandbox Code Playgroud)
MainActivity的Xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<fragment class="org.example.ItemListFragment"
android:id="@+id/item_list_fragment"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1" />
<FrameLayout
android:id="@+id/item_info_frame"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
来自LogCat的错误消息
ERROR/AndroidRuntime:引起:java.lang.ClassCastException:org.example.ItemListFragment无法强制转换为android.app.Fragment
android android-1.6-donut android-fragments android-support-library
它可以保留一个Fragment活动之间?
假设我在左侧放置A了片段活动,在右侧放置了F_Left片段F_Right.如果我想发布一个新的活动并保持片段F_Left......我该怎么做?
我可以F_Left在活动之间保留片段状态吗?
请注意,我想启动一个新的Activity,因为Fragment F_Left是我的应用程序菜单,Fragment F_Right完全改变了用户操作的上下文...而且我的应用程序有很多操作,所以每次操作都有一个Activity是有意义的.
我知道它可以保留Fragment在一个内部Activity,但由于Fragment生命周期与容器密切相关,Activity我不知道这是否可能保持Fragment活动之间的状态.
android android-fragments android-3.0-honeycomb android-activity
我试图在我的PHP代码中解码从flickr返回的json字符串.我使用CURL但它仍然返回一个字符串,即使我在json sring变量周围包装json_decode().有任何想法吗?
$api_key = '####';
$photoset_id = '###';
$query = 'http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key='.$api_key.'&photoset_id='.$photoset_id.'&extras=url_o,url_t&format=json&jsoncallback=1';
$ch = curl_init(); // open curl session
// set curl options
curl_setopt($ch, CURLOPT_URL, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch); // execute curl session
curl_close($ch); // close curl session
var_dump(json_decode($data));
Run Code Online (Sandbox Code Playgroud) 要在Android 3.0+应用中启用硬件加速,我可以这样做:
<application android:hardwareAccelerated="true" ... />
Run Code Online (Sandbox Code Playgroud)
但是,如果我的目标是11版之前的操作系统版本,应用程序将不会使用该属性构建.有没有办法在针对Honeycomb和之前的应用程序中启用硬件加速,或者硬件加速仅适用于创建仅适用于3.0+的应用程序的人员?
我在Activity上查找了一个方法,但我没有看到.
我想使用主题和样式设置动作栏(Honeycomb)的背景.你可以在代码中使用ActionBar.setBackgroundDrawable(Drawable),但我找不到相应的样式属性.
我尝试过使用这个主题和风格Activity:
<style name="Theme.MyApp" parent="android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar">
<item name="android:background">@drawable/action_bar_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但这会将背景放在左侧的应用程序图标和标题上.右边的菜单图标很好,背景在它下面.
那么反正这样做呢?
我是Java的新手,并且一直很善良.话虽这么说,我正在尝试使用JSON库(包?类?Java术语真令人困惑!)并且在添加它们作为参考时遇到了问题.
这三个导入无法解决:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
Run Code Online (Sandbox Code Playgroud)
我去了json.org并下载了Java库,但我不知道如何处理它们.我试图进入项目属性并添加外部类无济于事.我注意到下载的文件夹里装满了.java文件.我应该怎么做这些?
很抱歉在这里提出这样一个菜鸟问题,但我很难过.
如何使用JSON-lib(http://json-lib.sourceforge.net/)将json字符串转换为Java Map?我可以转换为DynaBean:
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );
DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );
Run Code Online (Sandbox Code Playgroud)
但我还没有找到一种直接转换为Java Map的方法
编辑:
我找到了解决方案:
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );
Map<String, Object> myMap = (Map<String, Object>) JSONObject.toBean(jsonObject, Map.class)
Run Code Online (Sandbox Code Playgroud)