我刚刚将一个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) 我得到以下代码(来自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项目依赖于一些我们无法控制的外部项目.因此,我正在尝试设置自定义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所做的事情...
我需要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) 我在组件上有片段单击弹出窗口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而不是调用触发对话框片段的片段.我可以杀死当前打开/运行的片段并调用一个可以获得更新字段的新实例,但这是我希望避免的脏解决方案.
有关如何在对话框片段中选择的片段更新选项的任何建议吗?
我写了这段代码,但我对 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) 嗨,有人可以请我告诉我带枚举的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失败
我需要为一个位于Android键盘顶部的EditText添加一些自定义按钮.就像在图像中一样:

没有键盘时,这些按钮应隐藏
我需要在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文档中找到简单的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)