小编Dyl*_*mes的帖子

Android - 动态获取前景中的当前活动

这是情况:

  1. 在线程中,触发事件.
  2. 需要检索当前活动.
  3. 然后在该活动上创建一个对话框并显示.

问题:据我搜索,无法检索前台的当前活动.

额外信息:这需要能够在多个活动中处理.因此,它可以在Activity-A或B或C中弹出.

java android get dynamic android-activity

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

有效地解析字节Java

所以我正在解析一定数量的字节.但是,前两个字节代表一些数字,然后下一个字节代表一个只有一个字节的数字,但接下来的四个字节可能代表一个很大的数字.除了我的方式之外,还有更好的解析数据的方法吗?

    switch (i) {
            //Status
            case 2:
                temp[3] = bytes[i];
                break;
            case 3:
                temp[2] = bytes[i];
                ret.put("Status", byteArrayToInt(temp).toString());
                break;
            //Voltage
            case 4:
                temp[3] = bytes[i];
                break;
            case 5:
                temp[2] = bytes[i];
                ret.put("Voltage", byteArrayToInt(temp).toString());
                break;
            //Lowest Device Signal
            case 6:
                temp[3] = bytes[i];
                break;
            case 7:
                temp[2] = bytes[i];
                ret.put("Lowest Device Signal", byteArrayToInt(temp).toString());
                clearBytes(temp);
                break;
Run Code Online (Sandbox Code Playgroud)

}

我循环遍历字节数组,我有一个开关,知道哪个字节到哪个位置,例如我知道第二个和第三个字节转到状态代码.所以我把它们组合成一个int.temp字节数组是byte [] temp = new byte [4].有更好的方法吗?

java performance parsing byte

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

Android Studio 无法选择构建变体

我已经为众多架构生成了 *.so,并且在我的 gradle 中定义了 ProductFlavors:

productFlavors {
    x86 {
        ndk {
            abiFilter "x86"
        }
    }
    armv7a {
        ndk {
            abiFilter "armeabi-v7a"
        }
    }
    fat
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,唯一可以工作的是armv7a-debug,如果我选择任何其他一个,将会导致以下错误:

2017-01-02 10:43:29,393 [3729690]  ERROR - riant.view.BuildVariantUpdater - Unable to select build variant 'fatDebug':
    Cannot find NativeAndroidProject for module 'app'.
    com.intellij.openapi.diagnostic.Logger$EmptyThrowable
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:129)
        at com.android.tools.idea.gradle.variant.view.BuildVariantUpdater.logAndShowUpdateFailure(BuildVariantUpdater.java:264)
        at com.android.tools.idea.gradle.variant.view.BuildVariantUpdater.getNativeAndroidModel(BuildVariantUpdater.java:255)
        at com.android.tools.idea.gradle.variant.view.BuildVariantUpdater.doUpdate(BuildVariantUpdater.java:105)
        at com.android.tools.idea.gradle.variant.view.BuildVariantUpdater.lambda$updateSelectedVariant$0(BuildVariantUpdater.java:70)
        at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.mergeRootsChangesDuring(ProjectRootManagerImpl.java:314)
        at com.android.tools.idea.gradle.util.Projects.lambda$null$5(Projects.java:236)
        at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:898)
        at com.android.tools.idea.gradle.util.Projects.lambda$executeProjectChanges$6(Projects.java:234)
        at com.intellij.util.ui.UIUtil.invokeAndWaitIfNeeded(UIUtil.java:2453)
        at com.android.tools.idea.gradle.util.Projects.executeProjectChanges(Projects.java:234)
        at com.android.tools.idea.gradle.variant.view.BuildVariantUpdater.updateSelectedVariant(BuildVariantUpdater.java:69)
        at com.android.tools.idea.gradle.variant.view.BuildVariantView.buildVariantSelected(BuildVariantView.java:520)
        at com.android.tools.idea.gradle.variant.view.BuildVariantView$BuildVariantTable.lambda$addBuildVariants$0(BuildVariantView.java:486)
        at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1223)
        at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1280)
        at javax.swing.JComboBox.contentsChanged(JComboBox.java:1330) …
Run Code Online (Sandbox Code Playgroud)

android android-studio

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

Android Back按钮关闭应用程序,而不是转到上一个活动

我打开我的第一个活动,它只是第二个活动的加载器,在第二个活动上有按钮,其中一个打开第三个活动.如果我从第三个活动回击而不是转到第二个活动,则只需关闭应用程序.有任何解决这个问题的方法吗?

这是一些代码片段:

    public void onSegmentStatusButtonClick(View view) {
    Log.d(TAG, "Segment status button clicked.");
    Intent intent = new Intent(this, SegmentStatusActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
    startActivity(intent);
}

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_segment_status);
    TextView txtView = (TextView) this
            .findViewById(R.id.segment_status_msg);
    txtView.setText(new String(getIntent().getByteArrayExtra("data")));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.segment_status, menu);
    return true;
}

@Override
public void onStop() {
    super.onStop();
    Log.d(TAG, "Executing onStop().");
    finish();
}

@Override
public void onPause() { …
Run Code Online (Sandbox Code Playgroud)

java android button back

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

Android ListView setOnItemClickListener无法正常工作

我正在尝试使用TextViews制作ListView,我希望能够点击每个textview,并根据它的位置拉出片段.但是,似乎甚至没有调用itemOnClickListener.

        mDrawerList = (ListView) findViewById(R.id.devices_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList.setAdapter(new ArrayAdapter<String>(this,
            R.layout.drawer_list_item, drawerInfo));
    mDrawerList.setItemsCanFocus(false);
    mDrawerList.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                final int pos, long id) {
            Log.d(TAG, "CLICKED " + pos);
            selectDevice(pos);
        }
    });
Run Code Online (Sandbox Code Playgroud)

这是列表项的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/deviceText"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge" />

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

列表视图xml文件:

<android.support.v4.widget.DrawerLayout     xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ListView
    android:id="@+id/devices_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    android:background="#111"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp" />

<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

java xml android listview drawer

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