小编Lee*_*fin的帖子

如何获取当前显示的片段?

我在Android中玩片段.

我知道我可以使用以下代码更改片段:

FragmentManager fragMgr = getSupportFragmentManager();
FragmentTransaction fragTrans = fragMgr.beginTransaction();

MyFragment myFragment = new MyFragment(); //my custom fragment

fragTrans.replace(android.R.id.content, myFragment);
fragTrans.addToBackStack(null);
fragTrans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragTrans.commit();
Run Code Online (Sandbox Code Playgroud)

我的问题是,在Java文件中,如何获取当前显示的Fragment实例?

android android-intent android-layout android-fragments

409
推荐指数
21
解决办法
40万
查看次数

如何避免在每次git推送时指定用户名和密码?

git push我的工作到远程Git仓库.

每个人push都会提示我输入usernamepassword.我希望每次推送都能避免它,但如何配置以避免它?

git github git-push

297
推荐指数
10
解决办法
25万
查看次数

设置开发设备(????????????无权限)

我正在使用三星galaxy nexus手机(Android 4.0平台).

我正在开发Ubuntu Linux操作系统上的Android应用程序.我想直接在三星手机设备上运行我的应用程序,所以我执行了以下设置步骤:

  1. 在我的项目AndroidManifest.xml文件中,添加android:debuggable="true"<application>元素中

  2. 在设备上,在" 设置">"安全性"中启用" 未知来源"

  3. 在设备上,在设置>开发人员选项中启用USB调试

  4. 在我的计算机上,/etc/udev/rules.d/51-android.rules使用以下内容创建了该文件:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在我的计算机上,运行该chmod a+r /etc/udev/rules.d/51-android.rules命令

然后,在我的计算机上,我打开了一个终端并执行了adb devices命令,我得到了:

List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

由于我没有看到我的设备,只能???????????? no permissions运行以下命令:

 adb kill-server
 adb start-server
 adb devices
Run Code Online (Sandbox Code Playgroud)

但我仍然得到:

List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

为什么?我错过了什么?

linux ubuntu android adb fastboot

274
推荐指数
8
解决办法
20万
查看次数

以编程方式在视图上添加填充

我正在开发Android v2.2应用程序.

我有一个片段.

onCreateView(...)我的片段类的回调中,我将布局扩展到片段,如下所示:

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

    return view;
}
Run Code Online (Sandbox Code Playgroud)

上面膨胀的布局文件是(login.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="vertical" 
 >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Username" />


    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Username" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想设置一个paddingTop上面的<LinearLayout>元素,我想在Java代码中执行它而不是在xml中执行它.

如何设置paddingTop<LinearLayout>我的片段Java类代码?

android padding android-widget android-emulator android-layout

221
推荐指数
9
解决办法
23万
查看次数

在backstack中获取最新的片段

如何在backstack中添加最新的片段实例(如果我不知道片段标签和id)?

FragmentManager fragManager = activity.getSupportFragmentManager();
FragmentTransaction fragTransacion = fragMgr.beginTransaction();

/****After add , replace fragments 
  (some of the fragments are add to backstack , some are not)***/

//HERE, How can I get the latest added fragment from backstack ??
Run Code Online (Sandbox Code Playgroud)

android android-fragments back-stack

97
推荐指数
9
解决办法
11万
查看次数

在屏幕android上更改Dialog的位置

AlertDialog在我的活动中做了一个简单的事:

View view = layoutInflater.inflate(R.layout.my_dialog, null);
AlertDialog infoDialog = new AlertDialog.Builder(MyActivity.this)
                    .setView(view)  
                    .create();

infoDialog.show();
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,对话框显示在屏幕的中心(大约).

我想知道,如何自定义对话框位置以使其显示在顶部操作栏下?(无论如何改变对话的重力或某些东西?)以及如何根据我的代码做到这一点?

android android-widget android-emulator android-intent android-layout

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

gen已存在但不是源文件夹

我正在开发我的Android项目,在我删除了一个未使用的库后,我得到了错误:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it
Run Code Online (Sandbox Code Playgroud)

在我的Activity代码中,R.java无法解析所有资源.

我试过,右键单击我的项目=> Java Build Path =>在"Source"选项卡下,我添加了gen/as source.但这对问题没有帮助......

为什么,如何摆脱这个问题?

---- ----更新

我发现,eclipse还抱怨"Project没有project.properties文件!编辑项目属性来设置一个." ,但我的项目下有project.properties文件.为什么抱怨?我已经清理了项目并"修复项目属性",但它没有帮助.

android android-widget android-emulator android-intent android-layout

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

弹出软键盘时页面滚动

我有一个<ScrollView>布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_scrollview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/input_one"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:inputType="number" >

         <EditText
            android:id="@+id/input_two"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:inputType="number" >

         <EditText
            android:id="@+id/input_three"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:inputType="number" >

          <Button
            android:id="@+id/ok_btn"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="@string/ok_str" />

      </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

如上所示,简单布局包含三个输入字段和一个"确定"按钮.

我使用上面的布局运行我的应用程序,当我点击第一个输入字段(@+id/input_one)时,软键盘将从屏幕底部弹出,它隐藏第三个输入字段和"确定"按钮.

自从我使用以来<ScrollView>,我想我可以向上滚动页面以查看第三个输入字段和软键盘隐藏的"确定"按钮,但页面不可滚动.为什么?如何摆脱它?基本上,我想看到每个输入字段和"确定"按钮,甚至软键盘弹出.

android android-keypad android-intent android-layout android-scrollview

88
推荐指数
7
解决办法
11万
查看次数

如何检查变量是数字还是字符串?

如何在Ruby中检查变量是数字还是字符串?

ruby

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

得到例外:片段已经激活

我有一个片段 ;

MyFragment myFrag = new MyFragment();
Run Code Online (Sandbox Code Playgroud)

我把bundle数据放到这个片段:

Bundle bundle = new Bundle(); 
bundle.putString("TEST", "test");
myFrag.setArguments(bundle);
Run Code Online (Sandbox Code Playgroud)

然后,我用这个替换旧片段并放在backstack上:

//replace old fragment
fragmentTransaction.replace(R.id.fragment_placeholder, myFrag, "MyTag");
//put on backstack
fragmentTransaction.addToBackStack(null);
//commit & get transaction ID
int transId = fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

后来,我使用上面的事务ID()弹出backstacktransId:

//pop the transaction from backstack
fragmentManager.popBackStack(transId,FragmentManager.POP_BACK_STACK_INCLUSIVE); 
Run Code Online (Sandbox Code Playgroud)

后来,我再次将bundle数据作为参数设置到我的fragment(myFrag):

//Got Java.lang.IllegalStateException: fragment already active
myFrag.setArguments(bundle);
Run Code Online (Sandbox Code Playgroud)

如您所见,我的上述代码异常Java.lang.IllegalStateException: fragment already active.虽然我已经从backstack弹出了它的事务,但我不明白为什么 myFrag 仍然有效.无论如何,因为我得到了例外,我认为我别无选择,只能取消激活片段,所以,我做了:

Fragment activeFragment = fragMgr.findFragmentByTag("MyTag");
fragmentTransaction.remove(activeFragment); …
Run Code Online (Sandbox Code Playgroud)

android android-emulator android-intent android-layout android-fragments

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