小编pet*_*udo的帖子

标题等未在Android工具栏中显示

我刚刚将一个Android工具栏添加到我正在处理的应用中.工具栏放置正确,工具栏布局显示在显示屏顶部.但是,工具栏显示为空白彩色条...应用程序标题和溢出图标不会显示在工具栏中.有关如何修复的任何想法?

ToolbarActivity.java:

public abstract class ToolbarActivity extends ActionBarActivity {

private Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeButtonEnabled(true); 
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    toolbar.setTitle("app name");
    }
}
Run Code Online (Sandbox Code Playgroud)

toolbar.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:background="@color/ColorPrimary" >
</android.support.v7.widget.Toolbar>

menu_main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)

style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <item name="windowActionBar">false</item>
      <item name="android:windowNoTitle">true</item>
      <item name="colorPrimary">@color/ColorPrimary</item>
      <item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android toolbar android-toolbar

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

使用android中的矩阵缩放和拖动图像

我得到以下代码(来自Ed Burnette的Hello android)工作得很好,我能够拖动和缩放图像.

import android.app.Activity;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class Touch extends Activity implements OnTouchListener {
   private static final String TAG = "Touch";
   // These matrices will be used to move and zoom image
   Matrix matrix = new Matrix();
   Matrix savedMatrix = new Matrix();

   // We can be in one of these 3 states
   static final int NONE = 0;
   static final int DRAG = …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop image zoom

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

编写自定义lint.xml

我们的Android项目依赖于一些我们无法控制的外部项目.因此,我正在尝试设置自定义lint.xml文件,以便我们可以为它们添加忽略规则.作为开始场景我试图从ActionBarSherlock删除警告(没有进攻杰克)

<?xml version="1.0" encoding="UTF-8"?>
<lint>
  <issue id="FloatMath">
    <ignore path="app/target/classes/com/actionbarsherlock/*" />
  </issue>
  <issue id="DefaultLocale">
    <ignore path="app/target/classes/com/actionbarsherlock/*" />
  </issue>
  <issue id="ViewConstructor">
    <ignore path="app/target/classes/com/actionbarsherlock/*" />
  </issue>
</lint>
Run Code Online (Sandbox Code Playgroud)

使用以下命令

lint app --disable FloatMath,DefaultLocale,ViewConstructor --xml lint-result.xml
Run Code Online (Sandbox Code Playgroud)

然而,制作的报告仍然包括ABS的消息.

更新 我更改了命令

lint --disable FloatMath,DefaultLocale,ViewConstructor --xml lint-result.xml app
Run Code Online (Sandbox Code Playgroud)

对Jenkins不进行任何更改仍会生成相同的报告,无论忽略什么,但是如果在命令行中运行它会忽略禁用后列出的所有问题.我希望有简单的说法,嘿,忽略/排除Maven所做的事情...

android reporting lint

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

具有动态条目的自定义ListPreference

我需要ListPreference中的动态条目,所以我不能使用传统的XML设置方式,其中有大量的在线资料.到目前为止,我有以下设置,你可以看到如下.问题是,当我运行这个时,我看到带有标题和消息的对话框但是没有条目显示,即使我知道条目和值不为空(我知道我的条目和值是相同的但如果我没有,我会得到错误提供的条目)


my.preference.DynamicPreference
            android:title="@string/date_format"
            android:dialogMessage="@string/profile_info_date_format"
            android:entryValues="@array/date_format_values"
            android:entries="@array/date_format_values"

Run Code Online (Sandbox Code Playgroud)
public class DynamicPreference extends ListPreference {
    private int index;

    public DynamicPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public DynamicPreference(Context context) {
        super(context);
    }

    @Override
    protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
        builder.setTitle(getTitle());
        builder.setMessage(getDialogMessage());
        builder.setSingleChoiceItems(entries(), -1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        });
        super.onPrepareDialogBuilder(builder);
    }

    @Override
    public void setEntries(CharSequence[] sequence) {
        CharSequence[] entries = listObjects().toArray(new CharSequence[listObjects().size()]);
        super.setEntries(entries);
    }

    @Override
    public void setEntryValues(CharSequence[] sequence) {
        CharSequence[] values = getContext().getResources().getStringArray(R.string.date_format);
        super.setEntryValues(values);
    } …
Run Code Online (Sandbox Code Playgroud)

android

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

更新对话框片段选项选择的片段

我在组件上有片段单击弹出窗口DialogFragment.该对话框片段包含选项列表.当选择列表中的选项时,我想通知片段,以便我可以运行字段更新过程.我做了这样的事

@Override
public void onClick(DialogInterface dialog, int item) {
     updateSharedPreference(item);
     Log.e("ProfilePersonaListDialog", "Click on dialog, inside onClick");
     OnCloseListDialogListener act = (OnCloseListDialogListener) getActivity();
     act.onDialogListSelection();

     dismiss();
}
Run Code Online (Sandbox Code Playgroud)

但是这个getActivity()调用FragmentActivity而不是调用触发对话框片段的片段.我可以杀死当前打开/运行的片段并调用一个可以获得更新字段的新实例,但这是我希望避免的脏解决方案.

有关如何在对话框片段中选择的片段更新选项的任何建议吗?

android refresh fragment android-dialogfragment

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

java Equal方法的JUnit测试

我写了这段代码,但我对 JUnit 还很陌生,不知道测试 equal 和 equal2 方法。下面是我写的代码。我在此代码中的目的是使用 equal 方法查看 fname 是否等于 lname ,并使用 equal2 检查 fname 是否与 fname (它本身)相同,也许我的代码也有错误。

public class EqualMethods {

    /**
     * @param args
     */

    private String fname;
    private String lname;

    public EqualMethods(String fl)
    {
        fname = fl;

    }

    public EqualMethods(String f, String l)
    {
        fname = f;
        lname = l;
    }


    public String getFname() {
        return fname;
    }

    public String getLname()
    {
        return lname;
    }

    public void setLname(String lname)
    {
        this.lname = lname;
    }



    public void …
Run Code Online (Sandbox Code Playgroud)

java junit junit4

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

Kotlin Proguard的枚举规则?

嗨,有人可以请我告诉我带枚举的Kotlin类是否有任何特定的规则吗?简单的例子

data class Passenger(
    var type: Type?,
    var id: Int,
    var age: Int
) {

companion object {

    const val AGE_NOT_SET = -1
}

enum class Type {
    ADULT, CHILD, INFANT
}

constructor() : this(null, 0, 0)
}
Run Code Online (Sandbox Code Playgroud)

如果将对象初始化为Passenger(CHILD, 123456, 4)转换为Json并稍后解析回POJO,它将导致Passenger(null, 0,0)

我有

-keepclassmembers,allowoptimization enum * { 
    public static **[] values(); public static ** valueOf(java.lang.String); 
}
Run Code Online (Sandbox Code Playgroud)

在我适用于Java枚举的proguard规则中,但由于某种原因,它对于Kotlin失败

enums proguard kotlin

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

键盘布局顶部的自定义按钮

我需要为一个位于Android键盘顶部的EditText添加一些自定义按钮.就像在图像中一样: 在此输入图像描述

没有键盘时,这些按钮应隐藏

android android-layout

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

如果条件不满足,请不要关闭DialogPreference onClick

我需要在PreferenceActivity中使用AutoCompliteTextView,因此我扩展了DialogPreference.我的auto-complite期待(帮助)用户输入国家/地区名称.如果用户按"取消"或没有输入任何值,我会很好,但是我想确保在关闭对话框之前输入正确的名称.我试图覆盖onClick as


@Override
public void onClick(DialogInterface dialog, int which) {
        if (!validator.isValid(textView.toString())) {
            onDialogClosed(false);
        } else {
            //do something here
            super.onClick(dialog, which);
        }
    }
Run Code Online (Sandbox Code Playgroud)

还有onDialogClosed


@Override
    protected void onDialogClosed(boolean positiveResult) {
        if (validator.isValid(textView.toString())) {
            //do something here
            super.onDialogClosed(positiveResult);
        }
    }
Run Code Online (Sandbox Code Playgroud)

android onclick dialog-preference

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

DatePickerDialog

我试图在Android文档中找到简单的DatePickerDialog工作代码



import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

import java.util.Calendar;

public class DatePickerDialogExample extends Activity {
    private TextView mDateDisplay;
    private Button mPickDate;
    private int mYear;
    private int mMonth;
    private int mDay;

    static final int DATE_DIALOG_ID = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
        mPickDate = (Button) findViewById(R.id.pickDate);

        mPickDate.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

        final Calendar c = Calendar.getInstance(); …
Run Code Online (Sandbox Code Playgroud)

android datepickerdialog

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