我想分割一个字符串,其中包含两个单词,如"word1 word2",使用分割和分区,并分别打印(使用for)单词,如:
Partition:
word1
word2
Split:
word1
word2
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
print("Hello World")
name = raw_input("Type your name: ")
train = 1,2
train1 = 1,2
print("Separation with partition: ")
for i in train1:
print name.partition(" ")
print("Separation with split: ")
for i in train1:
print name.split(" ")
Run Code Online (Sandbox Code Playgroud)
发生这种情况:
Separation with partition:
('word1', ' ', 'word2')
('word1', ' ', 'word2')
Separation with split:
['word1', 'word2']
['word1', 'word2']
Run Code Online (Sandbox Code Playgroud) 我是Android开发人员的新手,我的应用程序现在正在进行封闭的Alpha测试.我已将其上传到Google Play上,创建了一个列表,其中包含我想邀请测试我的应用程序的测试人员的电子邮件.我想知道的是:我是否需要发布我的应用程序才能开始这个封闭的alpha测试?
我的应用程序中有一个类似于聊天的 WhatsApp,最近他们添加了一项新功能,如果它们以 4 张或更多图片的序列发送并且它们之间没有消息,则可以将相册中的图像分组。如下图所示:
因此,我实现了我的 RecyclerView 适配器,它分别显示所有内容,这意味着无论是消息、图像、音频等,它们中的每一个都将在我的适配器中位于单独的行中。因此,如果连续发送超过 4 个图像,我想做 WhatsApp 所做的并将这种图像分组实施到相册中。我怎样才能做到这一点?
我已经成功地getItemViewType()在我的适配器中实现了该方法并且它工作正常。但我现在不知道该怎么办。
PS:Feed 是我的对象,可以是文本消息、图像和音频文件等。所以 mItems 是一个 Feed 列表。
这是我的适配器:
public class FeedAdapter extends BaseSkeletonAdapter<Feed> implements FeedHolder.FeedHolderListener{
private static final int HOLDER_COMMENT = 1;
private static final int HOLDER_IMAGE = 2;
private static final int HOLDER_FILE = 3;
private static final int HOLDER_AUDIO = 4;
private static final int HOLDER_MARKER = 5;
private static final int HOLDER_EMPTY = 6;
private final FeedItemListener mListener;
private final int mAvatarSize;
private final …Run Code Online (Sandbox Code Playgroud) 我正在构建一个Android应用程序,现在我想更改状态栏(屏幕上方显示无线和区域信号,电池状态等的状态栏),但它无法正常工作。
在XML文件的预览中,它为该栏显示了另一种颜色(我要使用的橙色阴影),但是当我在模拟器和手机上运行该应用程序时,该颜色保持白色。
我隐藏操作栏,并在应用程序顶部放一个灰色图像。
这是Android Studio中XML文件的预览
这是应用程序的仿真:
这是我的colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="theme_color">#D8540D</color>
<color name="toolbar_title_color">#E66800</color>
<color name="grey">#d3d3d3</color>
<color name="maroon">#7f0000</color>
<color name="color_textual">#8D5020</color>
<color name="chef_bg_color">#F7F7F7</color>
<color name="line_color">#dddddd</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
这是我的styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/theme_color</item>
<item name="android:navigationBarColor">@color/theme_color</item>
<item name="android:colorEdgeEffect">@color/theme_color</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
Run Code Online (Sandbox Code Playgroud)
Android清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mvaguimaraes.bt">
<uses-permission android:name="android.permission.INTERNET" …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 TextInputLayout 来计算 EditText 中的字符数。问题是,当我将 editText 包装在 TextInputLayout 的代码中时,editText 消失了。
这是我的 XML 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="fill_parent"
tools:context="com.construct.v2.activities.plan.PlanChooserActivity"
android:background="@android:color/white"
android:id="@+id/relativeLayout">
<include android:id="@+id/toolbar" layout="@layout/toolbar_shadow"/>
<LinearLayout
android:layout_below="@+id/toolbar"
android:id="@+id/add_category_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/add_blue"
android:paddingTop="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingBottom="20dp"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/inputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="55" >
<EditText
android:id="@+id/edittext_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/add_new_category"
android:textColorHint="#b1b1b1"
android:textColor="@color/text_color"
android:textSize="@dimen/s_text_size"
android:paddingTop="20dp"
android:background="#ffffff"
android:maxLines="1"
android:inputType="text"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_bar"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#f5f5f5"
android:layout_below="@+id/add_category_layout"
android:visibility="invisible">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginRight="15dp"
android:gravity="center_vertical"
android:id="@+id/movie_name"
android:textSize="@dimen/s_text_size"
android:textColor="#b1b1b1"
android:text="@string/added_categories"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView …Run Code Online (Sandbox Code Playgroud) 我决定使用 RecyclerView 来显示我的数据列表。每个项目/行中有一个复选框、2 个 TextView 和 1 个 ImageView。我已经创建了适配器来处理所有事情,并将选中的项目添加到我的最终列表中。
问题是,当我检查几个项目并向下滚动时,某些项目将显示为已选中,而当我向上滚动时,之前检查过的项目将显示为未选中。图像和文本视图都正常,但向下和向上滚动时复选框会混乱。
这是我的适配器:
public class TeamAdapter extends RecyclerView.Adapter<TeamAdapter.MyViewHolder> {
private Context mContext;
private List<UserProject> UserList;
private UserProject user;
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
public TextView name, description;
public CircleImageView profile_image;
public CheckBox check;
public MyViewHolder(View view) {
super(view);
name = (TextView) view.findViewById(R.id.name);
description = (TextView) view.findViewById(R.id.description);
profile_image = (CircleImageView) view.findViewById(R.id.profile_image);
check = (CheckBox) view.findViewById(R.id.check);
}
@Override
public void onClick(View v) {
if (mItemClickListener != null) {
mItemClickListener.onItemClickListener(v, getAdapterPosition());
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的应用程序中使用 JSON 字符串、改造和其他东西。但是在这个特定模型中,某些东西使我的 JSON 字符串为空。
这是我反序列化字符串的方法:
public static class TaskGSON implements JsonSerializer<Task>, JsonDeserializer<Task>{
@Override
public Task deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
System.out.println(json.toString());
if (!json.isJsonNull()) {
final JsonObject jsonObject = json.getAsJsonObject();
Task t = new Task();
t.mId = jsonObject.get(NAMES.Server.ID).getAsString();
t.mProjectId = jsonObject.get(NAMES.Server.PROJECT_ID).getAsString();
t.mTitle = jsonObject.get(NAMES.Server.TITLE).getAsString();
t.mPriority = Priority.deSerialize(jsonObject.get(NAMES.Server.PRIORITY).getAsString());
t.mCreatedAt = context.deserialize(jsonObject.get(NAMES.Server.CREATED_AT), Date.class);
t.mCreatedById = jsonObject.get(NAMES.Server.CREATED_BY_ID).getAsString();
t.mUpdatedAt = context.deserialize(jsonObject.get(NAMES.Server.UPDATED_AT), Date.class);
t.mFeedCount = jsonObject.get(NAMES.Server.FEED_COUNT).getAsInt();
t.mPermissions = context.deserialize(jsonObject.get(NAMES.Server.PERMISSIONS), new TypeToken<List<Permission>>() {}.getType());
if (jsonObject.has(NAMES.Server.COLLECTION_ID)) {
t.mCollectionId = jsonObject.get(NAMES.Server.COLLECTION_ID).getAsString();
}
if (jsonObject.has(NAMES.Server.DESCRIPTION)) …Run Code Online (Sandbox Code Playgroud) 我收到此错误,但我已经下载了API 25缺少的组件,并将gradle文件更改为以下代码.我已经同步了所有内容,它给了我0个错误,但我仍然在每个文件的包名称下面收到此消息.
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '25'
defaultConfig {
applicationId 'foodlebeeapp.com.foodlebeeapp'
minSdkVersion 16
targetSdkVersion 25
versionCode 7
versionName "1.3"
multiDexEnabled true
}
repositories {
mavenCentral()
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
compile 'com.android.support:design:25.0.1'
compile 'com.google.android.gms:play-services-location:9.8.0'
compile 'ch.acra:acra:4.9.0'
compile('de.keyboardsurfer.android.widget:crouton:1.8.4@aar') {
exclude group: 'com.google.android', module: 'support-v4'
}
compile project(':volley')
compile project(':payUMoneysdk')
compile('com.mikepenz:materialdrawer:5.4.0@aar') {
transitive = true
}
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.urbanairship.android:urbanairship-sdk:8.2.4'
compile 'com.android.support:cardview-v7:25.0.1'
} …Run Code Online (Sandbox Code Playgroud) 我的工具栏上有一个SearchView,我想更改默认后退按钮的图标。
这是我的工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_awesome_toolbar"
android:layout_width="fill_parent"
android:layout_height="?android:attr/actionBarSize"
app:titleTextColor="@android:color/black"
android:elevation="5dp">
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
这是我的SearchView的布局:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search"
android:title="@string/search"
app:icon="@drawable/ic_search_black_24dp"
android:icon="@drawable/ic_search_black_24dp"
app:showAsAction="always|collapseActionView"
android:maxWidth="50dp"
app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
这就是我在活动中创建选项菜单的方式:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search_team, menu);
SearchManager searchManager = (SearchManager)
getSystemService(Context.SEARCH_SERVICE);
searchMenuItem = menu.findItem(R.id.search);
searchView = (SearchView) searchMenuItem.getActionView();
ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
searchClose.setImageResource(R.drawable.ic_action_cancel_black);
searchClose.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) searchClose.getLayoutParams();
params.gravity = Gravity.RIGHT;
searchClose.setLayoutParams(params);
searchClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Clear query
searchView.setQuery("", false); …Run Code Online (Sandbox Code Playgroud) 在获取 JSON 字符串并在 Android 应用程序中使用它时,我遇到了一些困难。所以,我有这个类 Category2,我在其中定义了类别必须具有的所有字段:
\n\npublic class Category2 {\n\n @SerializedName("_id")\n private String _id;\n @SerializedName("name")\n private String name;\n @SerializedName("tasks")\n private int tasks;\n\n public Category2(String _id, String name, int tasks) {\n\n this._id = _id;\n this.name = name;\n this.tasks = tasks;\n }\n\n\n public String get_id(){\n return _id;\n }\n public void set_id(String _id){\n this._id = _id;\n }\n public String getName(){\n return name;\n }\n public void setName(String name){\n this.name = name;\n }\n public int getTasks() {\n return tasks;\n }\n public void setTasks(int tasks){\n …Run Code Online (Sandbox Code Playgroud) 我正在使用RecyclerView从每次在EditText中单击“ Enter”时都会填充的对象列表加载数据。但是我面临的问题是我添加的第一个项目显示为OK,当我添加第二个项目时,它显示了第一和第二个项目之间的巨大差距,如果我继续添加项目,则差距会变大并且列表不会不适合整个屏幕。
这是我的适配器:
public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.MyViewHolder> {
private Context mContext;
private List<Category> categoryList;
private Category category;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, count;
public EditText nameCategory;
public MyViewHolder(View view) {
super(view);
nameCategory = (EditText) view.findViewById(R.id.edittext_category);
//overflow = (ImageView) view.findViewById(R.id.overflow);
}
}
public CategoryAdapter(Context mContext, List<Category> categoryList) {
this.mContext = mContext;
this.categoryList = categoryList;
}
@Override
public CategoryAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.adapter_category, parent, false);
return new MyViewHolder(itemView);
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 我有一个具有一个活动的应用程序,此活动有一个片段。在此片段中,我在Listview中显示“待处理订单”。我设置了我的方法,以每55秒一次在我的数据库中为挂起的订单重新加载搜索。我每60秒重新加载一次活动。问题是,当片段被加载时出现此错误:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.io.File android.content.Context.getCacheDir()'
而且我正在尝试跟踪此问题,但这并不是一件容易的事,因为我仍然是Android开发的初学者。
这是片段:
public class PendingOrdersFragment extends Fragment implements AdapterView.OnItemClickListener {
ListView lstOrders;
ArrayList<ChefOrderList> orderLists;
TextView empty;
private SwipeRefreshLayout mSwipeRefreshLayout;
private final Handler handler = new Handler();
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_list, null);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
doTheAutoRefresh();
lstOrders = (ListView) view.findViewById(lstFood);
lstOrders.setOnItemClickListener(this);
empty = (TextView) view.findViewById(R.id.empty);
mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_refresh);
mSwipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
if (NetworkHelper.isOnline(getActivity())) …Run Code Online (Sandbox Code Playgroud) 我有一个活动,其中包含一些元素,例如ImageViews,TextViews,EditTexts和Button。一切正常,但运行该应用程序时看不到两个TextView。预览还可以,但是当我在手机中打开应用程序时,它不会显示。
这是我的XML代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.construct.v2.activities.auth.PasswordChangeActivity">
<!--<include android:id="@+id/toolbar" layout="@layout/toolbar_simple" />-->
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/mm_margin"
android:layout_gravity="center"
android:visibility="gone"/>
<RelativeLayout
android:id="@+id/contentLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:paddingTop="80dp">
<ImageView
android:id="@+id/change_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/change_pass"
android:layout_centerHorizontal="true"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:fontFamily="sans-serif-medium"
android:textStyle="normal"
android:textColor="#00596f"
android:lineSpacingExtra="2sp"
android:layout_centerHorizontal="true"
android:layout_below="@id/change_lock"
tools:text="@string/change_password"
/>
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:fontFamily="sans-serif"
android:textStyle="normal"
android:textColor="#555555"
android:lineSpacingExtra="4sp"
android:layout_below="@+id/title"
android:layout_centerHorizontal="true"
android:paddingTop="15dp"
tools:text="@string/new_password_text"
/>
<TextView
android:id="@+id/fill_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/subtitle"
android:textColor="@color/construct_red"
android:paddingTop="15dp"
/>
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
android:textSize="16dp"
android:textColorHint="#b1b1b1"
android:layout_below="@+id/fill_password"
android:backgroundTint="#00596f"
android:textColor="#00596f"
android:textCursorDrawable="@drawable/color_cursor" …Run Code Online (Sandbox Code Playgroud)