小编Dav*_*bji的帖子

我可以为String-array中的项目提供ID吗?

我的问题很简单,但我不知道答案.

我想要的是:

<string-array name="items_array">
        <item id="id1">Item1</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

这就是我目前所拥有的:

<string-array name="items_array"> 
   <item>Item1</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

我想要实现的是,我希望以我的Spinner正常名称(例如Martin)提供.然而在该ID项目中,我希望有例如"martin93".

ID是有用的将其追加到我的网址,从中我想获取一些数据.但我希望用户选择一个"普通"名称,而不是奇怪的(例如FaceBook)网址名称.

重要提示: facebook示例仅用于解释目的,我试图实现其他目的,但非常相似(使用ID我想获取真实URL的名称,如果我将其直接放入,那就不好看了微调).

有任何想法吗?

xml string android

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

带有按钮和静态字符串数组的ListView

我想创建一个ListView每个row都有两个按钮的地方.Button1Button2.

我已经阅读了很多关于如何创建CustomAdapter或扩展的教程BaseAdapter,但是在我的案例中没有一个有用,这就是我在这里开一个新问题的原因.

我有一个静态(不变)字符串数组strings.xml:

 <string-array name="locations_array">
   <item>Item1</item>
   <item>Item2</item>
 </string-array>
Run Code Online (Sandbox Code Playgroud)

我想在我的ListView中使用这个数组(我设法使用onClick事件创建一个普通的ListView,但现在我想为每一行添加按钮)并为每一行添加两个按钮,每个按钮都有自己的onClick事件.

我已经按照这里的答案和网上的其他一些教程,但我总是NullPointerException在尝试时得到setText.

CustomAdapter.java:

public class CustomAdapter extends BaseAdapter implements ListAdapter {
    private ArrayList<String> list = new ArrayList<>();
    private Context ctx;

    public CustomAdapter(ArrayList<String> list, Context ctx){
        this.list = list;
        this.ctx = ctx;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        Log.d("TAG", list.get(position));
        return list.get(position);
    } …
Run Code Online (Sandbox Code Playgroud)

java android listview android-listview

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

如何使用 BOM 输入流排除 BOM

我试图弄清楚如何在使用 Apache 给出的示例时简单地排除 BOM。我正在从内部存储读取文件并首先将其转换为String. 然后我将其转换为ByteArray这样我就得到了一个InputStream. 然后我检查BOMInputStreamBOM,因为我遇到了“意外令牌”错误。现在我不知道如何排除 BOM(如果有的话)。

代码:

StringBuffer fileContent = new StringBuffer("");
String temp = "";
int ch;
try{
    FileInputStream fis = ctx.openFileInput("dataxml");
try {
    while( (ch = fis.read()) != -1)
        fileContent.append((char)ch);
        temp = temp + Character.toString((char)ch);
} catch (IOException e) {
    e.printStackTrace();
}
} catch (FileNotFoundException e) {
    e.printStackTrace();
}


InputStream ins = new ByteArrayInputStream(temp.getBytes(StandardCharsets.UTF_8));
BOMInputStream bomIn = new BOMInputStream(ins);
if (bomIn.hasBOM()) {
    // has a UTF-8 …
Run Code Online (Sandbox Code Playgroud)

java xml android byte-order-mark xml-parsing

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

Android Camera2 图片是黑的,视频记录只有 1 秒

我在您可以在此处找到的两个示例的帮助下使用 Camera2 API:

我正在使用与上述链接相同的源代码,因此我不会在此处复制我的源代码(除非您需要某些部分,否则我将编辑我的问题并将其发布)。

编辑:

进行了一些测试。当我尝试通过手机播放视频时,它只显示第一帧,我可以听到录音中实际存在的音频(声音)。一旦视频播放到结束,视频会以某种方式自动重新启动并按原样显示视频。

但是,当我尝试在我的 PC 上播放视频(将其从手机复制到桌面)时,我只会在最后一帧之前出现黑屏。显示最后一帧,但视频根本不播放。我可以听到音频(声音)。

我在想某些视频编码/解码可能存在问题?

问题:

在我的情况下,视频录制不起作用。我可以在目录中看到它们应该在我的手机上的两个文件,但是当我播放视频(5 秒视频)时,前 4 秒是黑色的,然后最后一秒就像我录制的一帧,就是这样,但是文件大小似乎很大(160MB)。

屏幕:

  • 上传后会发视频

我不知道出了什么问题,有人可以帮忙吗?

video android android-image android-camera android-camera2

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

为什么我的Fragment没有替换我的Activity布局?

当我从中选择一个项目NavigationDrawer并添加一个新的Fragment,FragmentTransaction它不会取代布局,Activity我无法弄清楚为什么!

这是我的布局Activity:

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

<FrameLayout
    android:id="@+id/content_frame"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:layout_width="match_parent"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" >
    <!-- The main content view -->

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Location:"
        android:layout_marginTop="10dp"
        android:id="@+id/tv_disploc"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Temperature:"
        android:id="@+id/tv_disptemp"
        android:layout_below="@+id/tv_disploc"
        android:layout_marginTop="44dp" />


    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Search"
        android:onClick="ButtonClick"
        android:id="@+id/btn_search"
        android:layout_below="@+id/et_inloc"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="37dp"
        android:layout_gravity="center" />

    <EditText
        android:layout_width="174dp"
        android:layout_height="wrap_content"
        android:id="@+id/et_inloc"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/tv_dispsearch"
        android:layout_gravity="center" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Search:"
        android:id="@+id/tv_dispsearch"
        android:layout_centerVertical="true"
        android:layout_gravity="left|center_vertical" />

    <EditText …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments

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

onTabSelected更改片段

我想改变片段onTabSelected.

因为此刻,如果你滑动过渡工作正常.但是如果单击Tab,则片段不会切换.将Tab被强调,但内容保持不变.

问题出在我的onTabSelected方法上.我需要一个关于如何切换到Fragments的建议onTabSelected.

不幸的是我不能延伸MainActivity到我FragmentActivity,因为ActionBar在那种情况下我将无法使用(我需要扩展ActionBarActivity).

onTabSelected片段:

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
  int position = tab.getPosition();

  switch (position) {
    case 0:
        break;
    case 1:
        break;
    case 2:
        break;
  }
}
Run Code Online (Sandbox Code Playgroud)

MainActivity的一部分在这里很重要:

public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;

    // Tab titles
    private String[] tabs = { "Novice", "?lanki", "O Tribuni" }; …
Run Code Online (Sandbox Code Playgroud)

android android-tabhost android-fragments

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

LibGDX - 如何控制多次跳跃的触摸事件

我正在使用LibGDX进行游戏,我正在试图弄清楚如何限制TouchEvent for Jumping.

我的尝试:

if(player.b2body.getLinearVelocity().y > 3.5f){
            float currentVelocityY = player.b2body.getLinearVelocity().y;
            player.b2body.applyLinearImpulse(new Vector2(0, (- currentVelocityY)), player.b2body.getWorldCenter(), true);
    }
Run Code Online (Sandbox Code Playgroud)

如果超过某个值,我正在考虑降低Y轴上的速度.但是这不起作用,好像我一直触摸屏幕,角色会飞得更高.

我想限制touchEvent在短时间内跳转两次.

你的任何想法?

谢谢.

java android touch libgdx

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