小编KaH*_*HeL的帖子

自定义FragmentTabHost在底部设置TabWidget

目前我正在尝试为我的项目实现FragmentTabHost.我仍然对这些碎片很新,但我发现它在重用布局等方面非常好,这就是为什么我想进一步推动它.现在我阅读有关如何使用片段创建Tabs的教程,我在本教程中介绍了:

http://maxalley.wordpress.com/2013/05/18/android-creating-a-tab-layout-with-fragmenttabhost-and-fragments/

现在这个工作得很好,除了tabWidget位于我的布局之上,我希望它在底部.我发现在初始化所有选项卡后我需要设置tabWidget,所以我尝试添加这些代码:

mTabWidget = (TabWidget) findViewById(android.R.id.tabs);

    mTabWidget.setBackgroundColor(Color.WHITE);
    mTabWidget.setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
    mTabWidget.setGravity(Gravity.BOTTOM);
Run Code Online (Sandbox Code Playgroud)

现在这个已经消除了分隔符并改变了颜色,但显然不会将我的Widget放在我的布局的底部.现在我该怎么做?

我还尝试编辑Tabhost xml并将TabWidget放在FrameLayout之后但没有任何反应.这是xml:

    <android.support.v4.app.FragmentTabHost
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@android:id/tabhost"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

            <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" >

                <FrameLayout
                        android:id="@+id/tabFrameLayout"
                        android:layout_width="match_parent"
                        android:layout_height="0dp"
                        android:layout_weight="1" />

                <TabWidget
                        android:id="@android:id/tabs"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="0"
                        android:orientation="horizontal"
                        />

            </LinearLayout>

        </android.support.v4.app.FragmentTabHost>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-xml android-fragments

6
推荐指数
1
解决办法
1万
查看次数

带有iframe嵌入的Android WebView不会在4.2.2及更低版本上显示

我目前正在尝试在我的Android应用程序上实现一个嵌入youtube,它使用WebView显示它的内容,我的目标是API 14及更高版本,但问题是iframe youtube嵌入在我的webview上没有显示4.2.2和以下但在4.3及以上版本上正常工作.我迷失了我错过的东西,但是这里的示例是我用来实现的代码:

String customHtml = "";

        String video; // = "<iframe src=\"http://www.youtube.com/embed/" + "dRvIiIVoVNw" + "\" width=\"100%\" height=\""+ 320 +"px\" frameborder=\"0\"></iframe>";

        video = "<div id=\"player\"></div>" +
                "    <script>" +
                "      var tag = document.createElement('script');" +
                "      tag.src = \"https://www.youtube.com/iframe_api\";" +
                "      var firstScriptTag = document.getElementsByTagName('script')[0];" +
                "      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);" +
                "      var player;" +
                "      function onYouTubeIframeAPIReady() {" +
                "        player = new YT.Player('player', {" +
                "          height: '390'," +
                "          width: '640'," +
                "          videoId: 'dRvIiIVoVNw'," +
                " …
Run Code Online (Sandbox Code Playgroud)

javascript youtube iframe android webview

6
推荐指数
1
解决办法
4581
查看次数

方向更改后 DialogFragment 创建两次

您好,我目前正在尝试实现一个教程对话框,其中一个对话框将在另一个对话框被关闭后出现。现在一切正常,但方向更改后,对话框会重新创建两次。更重要的是,在我关闭所有对话框然后尝试再次更改方向后,对话框将重新出现,这很烦人。到目前为止,这是我的代码:

public class TutorialOne extends DialogFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.dialog_tutorial1, container, false);

        Button next = (Button) view.findViewById(R.id.btn_next);
        next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getDialog().dismiss();
            }
        });
        return view;
    }

    @Override
    public void onDetach() {
        super.onDetach();
        if(isRemoving()) {
            TutorialTwo tutorialTwo = new TutorialTwo();
            tutorialTwo.show(getActivity().getSupportFragmentManager(), "tutorial_2");
        }
    }


    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        // request a window without the title
        dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
        return …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment

5
推荐指数
1
解决办法
4681
查看次数

将PHP数组作为数组传递给外部Javascript函数

我正在做一些我需要将数组从我的PHP传递到外部JavaScript的函数.我现在正在做一些测试,看起来像这样:

<input type="text" onclick="show_error_message('<?php echo $array_sample ?>')" readonly="readonly">
Run Code Online (Sandbox Code Playgroud)

和javascript函数是这个:

function show_error_message(test) {
alert(test)
}
Run Code Online (Sandbox Code Playgroud)

我的$ array_sample包含数据,array("1","2","3"); 但返回警报将是数组,每当我在传递参数时更改$array_sample$array_sample[0],我得到的数据为1作为警报.我想知道如何通过javascript中的数组传递整个数组.好吧你可以看到,我打算将它作为错误处理的弹出消息,这就是为什么我需要它是动态的.

javascript php

4
推荐指数
2
解决办法
2万
查看次数

使用外部存储器中的文件路径设置ImageView图像

嗨,我想使用我保存在SQLite数据库中的路径更改ImageView的图像.那么我想要实现的是每当这个图像可用时每秒运行它将显示并保持到下一个图像可用.但是,无论什么都没有显示,都会使用默认图像.但是现在我想解决的主要问题是我无法使用我拥有的路径设置imageView.我尝试了不同的解决方案,例如从路径中取出位图但仍然收到相同的错误,即:E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory)

这是我现在的代码:

String path = db.getImagePath(file_name, curTime);

                            Log.v("Your image filename", file_name);
                            Log.v("Your currentPosition", curTime);

                            Log.v("Your Path Playback edit", path);

                            try{
                                preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory()+"/Echo/Images/"+file_name));
                            }catch (Exception e){
                                e.printStackTrace();
                                preview.setImageResource(R.drawable.sample_image);
                            }
Run Code Online (Sandbox Code Playgroud)

这是在一个可运行的方法下运行的.这是我得到的logcat:

V/Your Path: /mnt/sdcard/Echo/Images/
V/Your image filename: Awesome4 - 00:01.jpg
V/Your currentPosition: 00:01
V/Your Path Playback edit: /mnt/sdcard/Echo/Images/
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory)
I/System.out: …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
1万
查看次数

Android Studio导入Google Play服务项目刷新失败

目前我正在尝试为使用Android Studio创建的Android项目导入Google Play服务.现在,我阅读了应该从这里开始的部分,因为这个部分仍在使用Eclipse,所以我最终完成了这些步骤.现在,在我的应用上添加Google Play服务后,我收到一条错误消息:

Gradle'MyApp'项目刷新失败:找不到com.google.android.gms:play-services:5.0.77.要求:MyApp:myapp:未指定

所以我尝试更改此行的版本:

编译'com.google.android.gms:play-services:5.0.77'

成:

compile 'com.google.android.gms:play-services:5.0.+',
compile 'com.google.android.gms:play-services:4+', 
compile 'com.google.android.gms:play-services:4.0.+',
Run Code Online (Sandbox Code Playgroud)

所以,但仍然得到相同的错误(只有版本更改).

至于参考我的Android Studio版本目前是@ 0.5.2(我还无法更新)等级版本0.9.+.

以及Android SDK Manager中安装的软件包的屏幕截图:

在此输入图像描述

现在我想知道我的问题究竟在哪里.此外,我不想下载Google Play服务的JAR文件来解决此问题.我想坚持在Android Studio中实现此功能的官方方式.:d

android gradle google-play-services android-studio

3
推荐指数
1
解决办法
1678
查看次数

Android:获取要在TextView上显示的ImageView的图像源名称

嗨,我是Android开发的新手,我遇到了这个问题.我要显示我的src名称imageViewtextView,当我点击一个特定的形象.为了进一步了解这里是我的硬编码image clickListener(希望有人也可以帮助我改进我的编码).

    int ctr = 0;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.play);

        //DECLARE CLICK LISTENERS ON OBJECTS
        ImageView ImageView1 = (ImageView)findViewById(R.id.imageView1);
        ImageView1.setOnClickListener(this);
        ImageView ImageView2 = (ImageView)findViewById(R.id.imageView2);
        ImageView2.setOnClickListener(this);
        ...

public void onClick(View v) {
        //CHANGE TEXT VIEW TEXT BASED ON THE CTR VALUE
        TextView TextView1 =(TextView)findViewById(R.id.textView1); 

        //I WANT TO CHANGE THIS ONE TO DISPLAY SRC INSTEAD OF THE CTR VALUE
        TextView1.setText(Integer.toString(ctr)); 
}
Run Code Online (Sandbox Code Playgroud)

在那里,我没有显示ctr值,而是想显示我在我设置的两个图像之间点击的任何图像的src名称.我相信这是可能的.谢谢.

android

2
推荐指数
1
解决办法
2万
查看次数

按下后退按钮时Android关闭应用程序

嗨我在我的应用程序中进行了修改,我想在单击后退按钮后关闭我的应用程序.这可能听起来很常见吗?但这正是我的应用程序发生的事情.我有3个屏幕:起始页面,游戏页面和分数页面.从"开始"页面按下开始按钮后,它将启动游戏页面意图.完成游戏后,游戏页面会将意图移动到分数页面,当从分数页面按下后退按钮时,意图将在起始页面上传递,如下所示:

  1. 起始页 - >游戏页面
  2. 游戏页面 - >分数页面
  3. 分数页(按下后退按钮时) - >起始页

现在,当我再次按下后退按钮而不退出应用程序后返回起始页面时,它将返回到分数页面并再次返回如果我按下后退按钮它将再次进入起始页面进行无限循环.我将此代码放在我的起始页面上,但它无法解决我的问题:

@Override
public void onBackPressed() {
    Startup.this.finish();
}
Run Code Online (Sandbox Code Playgroud)

我是否需要改变我的意图流程或者有一个可能的解决方案?

android

2
推荐指数
1
解决办法
2万
查看次数

Gradle错误:android工作室不存在包com.facebook

我再次迷失在我的应用程序的Facebook登录部分.那么发生的事情是我从facebook网站本身下载了facebook SDK然后使用eclipse导出项目用gradle用于android studio.现在在我的主要应用程序在Android的项目结构中我导入了我转换然后在依赖项上的facebook的模块我在我的主应用程序中添加了facebook的模块依赖项.现在我尝试导入facebook包,它在我的MainActivity中运行正常.现在我尝试运行后出现错误,请看截图:

在此输入图像描述

我尝试使用./gradle清理两个项目,它清理得很好,但我得到一个错误的构建部分.我认为在gradle结构中导出facebook项目后出了问题.我该如何解决这个错误?谁遇到过这个?

android facebook android-studio

2
推荐指数
2
解决办法
9987
查看次数

Sugar ORM无法使用布尔值查询列

我正在使用Sugar ORM来查询应用列表.我有一个布尔列用于标记字段,使用:

@Setter @Getter public boolean isNew = false;
Run Code Online (Sandbox Code Playgroud)

现在,在API调用之后,我将更新并保存记录以标记所有新应用程序然后显示我将使用以下内容查询它:

List<AppsModel> app_list = AppsModel.find(AppsModel.class, "is_new = ?", "true");
Run Code Online (Sandbox Code Playgroud)

问题是它返回0条目,它在我的结尾有3.要检查我获取所有列表并逐个检查列以检查其值:

List<AppsModel> test = AppsModel.listAll(AppsModel.class);
        for(int i=0;i<test.size();i++){
            Log.e("Test app size", String.valueOf(test.get(i).isNew()));
        }
Run Code Online (Sandbox Code Playgroud)

并且它按预期返回3并带有真值.我可以使用这个循环列表,但我不想,因为我想尽可能保持我的代码清洁.

我在这里错过了什么吗?

sqlite android sugarorm

2
推荐指数
1
解决办法
837
查看次数

等于子字符串值不会返回预期结果

嗨我有这个子串的问题,我希望它是相同的.好吧,我创建了一个函数,您将比较两个名称,然后只要这些名称共享相同的字符,它就会将所有字符更改为空格.你能检查一下这个错误在哪里吗?我很难搞清楚.这是我的代码:

name1 = name1.replace(" ","");
    name2 = name2.replace(" ","");

    Log.v(TAG, name1);
    Log.v(TAG, name2);

    Log.v(TAG, String.valueOf(name1.length()));
    Log.v(TAG, String.valueOf(name2.length()));

    for (int x=0; x < name1.length(); x++){
        for (int y=0; y < name2.length(); y++){

            Log.v(TAG, "Value of LOOP : "+"-"+String.valueOf(y) +"-"+String.valueOf(x)+"-");
            Log.v(TAG,"-"+name1.substring(x)+"-"+name2.substring(y)+"-");

            if (name1.substring(x) == name2.substring(y)){
                Log.v(TAG, "Value of XY : "+String.valueOf(y)+","+String.valueOf(y));

                name1 = name1.replace(name1.substring(x)," ");
                name2 = name2.replace(name2.substring(y)," ");
            }
        }
     }
    Log.v(TAG,"LOOP SUCCESS");

    String name3 = name1 + name2;
    Log.v(TAG,"Name 3 Value: "+name3);
Run Code Online (Sandbox Code Playgroud)

java android

1
推荐指数
1
解决办法
621
查看次数

在退出时清除缓存以防止在注销后返回登录页面或上一页

这已经困扰了我一个星期了.好吧,我非常需要在用户成功登录后清除登录页面的缓存,并防止用户在按下后退按钮后退出后查看上一页.我尝试在codeigniter中添加此代码(索引页面和登录页面),但仍然没有任何反应

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
Run Code Online (Sandbox Code Playgroud)

以及这一个:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="01 Jan 1970 00:00:00 GMT">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)

我已经在考虑在后台运行的同步任务来检查会话但是我在AJAX中并不是那么好.那么我想要的就是让它像使用轨道上的红宝石一样简单Cache-Control: no-cache.顺便说一下,我也没有关于ruby的知识,但看到代码让我想知道为什么在codeigniter中没有像这样的简单解决方案?解决这个问题的任何解决方案?

php codeigniter cache-control http-headers

1
推荐指数
1
解决办法
4771
查看次数