我正在尝试实现导航抽屉,但由于某些原因我得到这个空指针异常.
我花了很多时间,却徒劳无功.这是我的代码的一部分.我无法理解为什么它返回空指针异常.
我是否需要导入任何库?
提前致谢.
package com.motobeans.productions.aloha;
import android.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import java.util.Locale;
import android.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.widget.ImageView;
import android.widget.ListView;
public class Activity_test extends ActionBarActivity {
private String[] mPlanetTitles;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
private CharSequence mTitle;
private CharSequence mDrawerTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar); …Run Code Online (Sandbox Code Playgroud) android nullpointerexception navigation-drawer android-actionbaractivity
我正在使用TabLayout设计库,ViewPager使用该功能链接它们setupWithViewPager.在更改选项卡内容后,应用程序在重新创建选项卡的情况下崩溃.崩溃痕迹:
java.lang.IllegalArgumentException: Tab belongs to a different TabLayout.
at android.support.design.widget.TabLayout.addTab(TabLayout.java:433)
at android.support.design.widget.TabLayout.populateFromPagerAdapter(TabLayout.java:772)
at android.support.design.widget.TabLayout.setPagerAdapter(TabLayout.java:763)
at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:715)
Run Code Online (Sandbox Code Playgroud)
更新到支持库23.2.0后发生崩溃,直到v23.1.1才重现.
xml android android-layout android-support-library android-studio
我正在尝试像这样在 RecylerView 的 Bindview 持有者中动态更改 Cardview 背景颜色。
holder.cardView.setCardBackgroundColor(R.color.LightCyan);
Run Code Online (Sandbox Code Playgroud)
奇怪的是背景应用的颜色几乎相反。(#E0FFFF-LightCyan)到 1F0000 -几乎黑色)
我在这里验证了几种颜色,结果是相同的。
但如果我这样设置
holder.cardView.setCardBackgroundColor(ContextCompat.getColor(this.mContext, R.color.LightCyan));
Run Code Online (Sandbox Code Playgroud)
它工作得很好。(是的,这是正确的设置方法)。
卡片视图 XML:
<android.support.v7.widget.CardView
android:id="@+id/cv"
android:foreground="?selectableItemBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content">
Run Code Online (Sandbox Code Playgroud)
操作系统:Android 6.0 HTC
但这里的理解差距在哪里呢?
我正在使用 com.android.support:cardview-v7:23.3.0.
在API <21时,我的CardView坚持在底部放置一条暗线,如图所示
这是我的布局.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<android.support.v7.widget.CardView
android:id="@+id/category_cardView"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_margin="0dp"
card_view:cardBackgroundColor="#80d0d0d0"
card_view:cardCornerRadius="30dp"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/list_item_category_imageImageView"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="3dp"
tools:ignore="contentDescription"
tools:src="@drawable/ic_launcher_find_the_fun" />
<ImageButton
android:id="@+id/list_item_category_listButton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_margin="3dp"
android:background="@drawable/button_selector_category"
android:contentDescription="@string/cd_list"
android:padding="10dp"
android:scaleType="fitXY"
android:src="@drawable/ic_list_black_24dp" />
<ImageButton
android:id="@+id/list_item_category_mapButton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/list_item_category_listButton"
android:background="@drawable/button_selector_category"
android:contentDescription="@string/cd_map"
android:padding="10dp"
android:scaleType="fitXY"
android:src="@drawable/ic_map_black_24dp" />
<!-- Title -->
<TextView
android:id="@+id/list_item_category_titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/list_item_category_mapButton"
android:layout_toRightOf="@id/list_item_category_imageImageView"
android:paddingRight="3dp"
android:textSize="17sp"
android:textStyle="bold"
android:typeface="sans"
tools:text="Category Title" />
</RelativeLayout>
</android.support.v7.widget.CardView> …Run Code Online (Sandbox Code Playgroud) android android-appcompat android-library android-studio android-cardview
设置autoWebview:'true'在protractor配置文件导致系统注销,ubuntu 16.4
这是我的配置文件:
exports.config = {
seleniumAddress: 'http://localhost:4723/wd/hub',
specs: ['demo.js'],
capabilities: {
platformName : 'android',
platformVersion : '4.4.2',
deviceName: 'PNV4PN4LUORWSCRO',
directConnect: true,
browserName: "android",
autoWebview: ' true',
app: '/path/abc.apk',
appPackage: 'xyz',
appActivity: '.MainActivity',
newCommandTimeout: 140,
autoWebviewTimeout: 10000,
fulReset: true
},
baseUrl: 'http://10.0.2.2:8000',
allScriptsTimeout: 22000,
onPrepare: function () {
var wd = require('wd'),
protractor = require('protractor'),
wdBridge = require('wd-bridge')(protractor, wd);
wdBridge.initFromProtractor(exports.config);
}
};
Run Code Online (Sandbox Code Playgroud)
如果我没有设置autoWebview:'true',那么我遇到问题:
[21:38:48] I/hosted - Using the selenium server at http://localhost:4723 /wd/hub
[21:38:48] I/launcher - Running 1 instances of …Run Code Online (Sandbox Code Playgroud) Android Studio 2.1即时运行不会更新设备上的应用程序
我发现AndroidStudio 2.1存在问题.当我使用小的Java代码更改运行应用程序时,它有时不会更新设备上的应用程序.而是显示一条消息
无需更改部署//(不再显示)
我在这里错过任何东西吗?作为一种解决方法,我每次都要清理构建,以反映应用程序中的更改.
android android-studio instant-run android-instant-run android-studio-2.1
编辑Java文件时,如果我在行的末尾并输入Enter键,它会正确地缩短下一行缩进4列,以匹配上面的行.这是确定的,但它与缩进标签,没有空格,即使在File>Settings>Editor>Java>Tabs和缩进的复选框使用制表符被取消选中,一直都是.
如果我只是键入tab键,我也会得到一个标签,而不是空格.
我从不想使用制表符; 我总想用空格.我在Eclipse或Microsoft Visual Studio中没有这个问题,因此它不是我的PC的某些系统设置.Android Studio中是否还有其他设置?
编辑: 我尝试了Omar Al Halabi(下面)制作的建议并且它没有工作但是在测试时我发现了一些有趣的东西:这个选项卡问题似乎主要适用于行的开头,即如果我输入Enter在上一行中,它会立即使用实际制表符而非空格切换到下一行的第一个缩进位置.另一方面,如果我在现有行上键入一些文本,一旦我输入了一个小文本,如果我点击了tab,它就会使用空格进行选项卡.
android code-formatting android-studio android-shortcut android-components
有什么方法可以在Android自动配对/连接到蓝牙设备(例如我的车),而不是已经启动/打开(某种广播)的应用程序时接收回叫?我已经想过定期扫描设备并查看它们是否已经绑定的服务,但是因为Android已经这样做了,感觉无效:当我在范围内时它会自动连接到我的车.这个想法是当我在我的汽车范围内时开始一项特定的工作,并在我超出我的汽车范围时停止工作,而无需启动应用程序或打开它.
我最初的想法是,应该有一种可以注册的广播,知道设备何时"连接",并且该听众只需启动作业一段时间或直到设备"断开连接".请注意,将手机放在口袋中而不是拿起手机是必要的.我只看过一些例子,如果应用程序已经打开,通过监听状态更改来执行此操作.这可能是没有应用程序打开,只是"事件驱动"和收听广播?
service android bluetooth broadcastreceiver bluetooth-lowenergy