小编mik*_*enz的帖子

使用RecyclerView和CardView触摸反馈

我很想为我的开源库启用触摸反馈.

我创造了一个RecyclerView和一个CardView.该CardView包含不同的区域不同的onClick动作.现在,如果用户点击卡中的任何位置,我很乐意触发Ripple效果,但我无法实现此行为.

这是我的listitem,您也可以在GitHub上找到它:https://github.com/mikepenz/AboutLibraries/blob/master/library/src/main/res/layout/listitem_opensource.xml

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:background="@drawable/button_rect_normal"/>

<LinearLayout
    android:padding="6dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:gravity="center_vertical"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/libraryName"
            android:textColor="@color/title_openSource"
            android:textSize="@dimen/textSizeLarge_openSource"
            android:textStyle="normal"
            android:layout_width="0dp"
            android:layout_weight="5"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"/>

        <TextView
            android:id="@+id/libraryCreator"
            android:textColor="@color/text_openSource"
            android:textStyle="normal"
            android:layout_width="0dp"
            android:layout_weight="2"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:gravity="right"
            android:maxLines="2"
            android:textSize="@dimen/textSizeSmall_openSource"/>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:layout_marginTop="4dp"
        android:background="@color/dividerLight_openSource"/>

    <TextView
        android:id="@+id/libraryDescription"
        android:textSize="@dimen/textSizeSmall_openSource"
        android:textStyle="normal"
        android:textColor="@color/text_openSource"
        android:padding="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxLines="20">
    </TextView>

    <View
        android:id="@+id/libraryBottomDivider"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:layout_marginTop="4dp"
        android:background="@color/dividerLight_openSource"/>

    <LinearLayout
        android:id="@+id/libraryBottomContainer"
        android:gravity="center_vertical"
        android:paddingLeft="8dp"
        android:paddingTop="4dp"
        android:paddingRight="8dp" …
Run Code Online (Sandbox Code Playgroud)

android touch-feedback android-cardview rippledrawable android-recyclerview

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

Jenkins Subversion错误 - E200015:没有凭据可以尝试.验证失败

我已经将jenkins的Subversion插件更新到2.2版

现在我得到了关于repos的错误,这是在升级之后第一次构建的repos以及repos,其中外部的东西发生了变化.它适用于所有其他版本的预期.

我试图添加其他凭据,但这没有帮助.

现在我希望有人知道还有什么可以尝试解决这个问题.

错误:

hudson.util.IOException2: revision check failed on http://XXX/svn/XXX/Website/Config/trunk
    at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189)
    at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132)
    at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
    at hudson.model.Run.execute(Run.java:1670)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:231)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/XXX/Website/Config/trunk failed
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)
    at …
Run Code Online (Sandbox Code Playgroud)

svn hudson credentials jenkins

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

每次屏幕亮起时都会调用onDestroy

每次从屏幕关闭状态返回时,我的应用程序都会被杀死.我获取了我的应用程序所做的所有信息,但我无法找到它调用onDestroy的原因.这是我第一次在我的应用程序中看到这种行为.

我的主要活动扩展了tabActivity,因为它包含tabhost.我已经读过它必须扩展它或它将FC.我不确定我的问题是否与此有关?!哦,它实现了Observer,但这应该没问题.

这是日志:

07-21 09:57:53.247: VERBOSE/###(13180): onResume
07-21 09:57:53.267: VERBOSE/###(13180): onPause
07-21 09:57:59.967: VERBOSE/###(13180): onResume
07-21 09:58:00.597: VERBOSE/###(13180): onPause
07-21 09:58:00.597: VERBOSE/###(13180): onDestroy
07-21 09:58:00.637: VERBOSE/###(13180): onCreate
Run Code Online (Sandbox Code Playgroud)

疯狂的是,它在屏幕再次亮起后最多调用onDestroy,有时它有足够的时间在屏幕关闭之前执行此操作.但是在它再次发生之后它再次发生了同样的事情......

我希望有人给我一个提示或有关如何解决此问题的任何信息.

我不确定这是否重要,但我使用android 2.1-update1 sdk作为我的应用程序.


编辑:

该应用程序在真正的Android设备上进行测试.

这是一些基本代码,删除了所有不必要的行和信息:

package;
imports;

public class WebLabActivity extends TabActivity implements Observer{

#declerations

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.v("###", "onCreate");
    setContentView(R.layout.main);
    # initialize some basic things
}

@Override
public void onResume() {
    super.onResume();
    Log.v("###", "onResume");
}

@Override …
Run Code Online (Sandbox Code Playgroud)

android screen onresume ondestroy onpause

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

没有调用片段onHiddenChanged

我最近在我的应用程序中添加了Fragments.对于新的应用程序,我需要在显示我的片段时立即收到通知.所以我可以在我的片段再次显示后立即进行一些计算.

My Fragment与TabIndicator一起使用,它只有一个FragmentClass使用了几次.

这是正常的标准覆盖类:

@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
}
Run Code Online (Sandbox Code Playgroud)

hidden android fragment android-4.0-ice-cream-sandwich

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

如何将我在EditText框中键入的数据添加到要在另一个活动中列出的数组中?

下面是我用于Android应用程序开发的3个java类.我想在AddActivity中添加学生数据(姓名和电话号码),点击"添加"后存储在MainActivity页面中.我已经研究过这个并尝试使用数组.但是我对于代码如何将AddActivity中键入的数据发送到MainActivity页面的逻辑非常困惑.任何人都可以给我一个如何解决这个问题的指导,如果你能用另一种方式向我展示我正在尝试的方式,我真的很感激.我希望在AddActivity页面中单击的每个"Add"之后,将数据以ListView格式存储在MainActivity中.我希望有人能指导我这样做.谢谢.

MainActivity.java - https://jsfiddle.net/eb1fprnn/

public class MainActivity extends AppCompatActivity {
ListView listView;
Button addStudent;
ArrayList<Student> students = new ArrayList<Student>();
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    add();
}



public void add() {
    Student student;
    addStudent = (Button) findViewById(R.id.add);
    addStudent.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, AddActivity.class);
            startActivity(intent);
        }
    });
}
}
Run Code Online (Sandbox Code Playgroud)

AddActivity.java - https://jsfiddle.net/40k5mas2/

public class AddActivity extends AppCompatActivity {
EditText name, phone;
Button add;
int FphoneNumber;
String Fname;
ArrayList<Student> students;
@Override
protected …
Run Code Online (Sandbox Code Playgroud)

java arrays android listview android-studio

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

Viewpager:如果页面被删除,则下一页内容将获取已删除的页面内容

(如果有人需要更多信息,或者更好的描述让我知道)

您好,我在这里包含了viewPagerLibrary:http://viewpagerindicator.com/#introduction 今天在我的项目中.

不,我得到一个非常奇怪的问题:如果我添加一个网站或页面(让我们在接下来的几行中调用它)并再次删除它一切都可以.但是,如果我尝试添加不同的页面(那些页面是实现BaseFragment类的不同Fragements),则会显示第一页的内容.如果我添加几个页面并在这些页面之间删除一个页面,则会发生同样的事情.删除页面之后的页面现在显示已删除的页面内容.

这个bug的一个例子: 现在的问题是.如果我在FragmentB之后添加FragmentA,那么我删除FragmentA,FragmentB获取FragmentA的视图/内容.奇怪的是,对象是正确的(所以适配器返回正确的对象),标题也是正确的.

在我的主要部分,我用这种方式创建我的寻呼机,指示器和适配器:

    Cfg.mAdapter = new FragmentAdapter(getSupportFragmentManager());

    Cfg.mPager = (ViewPager)findViewById(R.id.pager);
    Cfg.mPager.setAdapter(Cfg.mAdapter);

    Cfg.mIndicator = (TabPageIndicator)findViewById(R.id.indicator);
    Cfg.mIndicator.setViewPager(Cfg.mPager);

    //We set this on the indicator, NOT the pager
    Cfg.mIndicator.setOnPageChangeListener(TabHelper.onPageChangeListener);
Run Code Online (Sandbox Code Playgroud)

(Cfg是一个静态文件,用于存储这些东西以供使用)

我的BaseFragment如下所示:

public class BaseFragment extends Fragment{

    public static int FILE_FRAGMENT = 0;
    public static int FTP_FRAGMENT = 1;
    public static int ADDFTP_FRAGMENT = 2;
    public static int PREVIEW_FRAGMENT = 3;
    public static int CSS_FRAGMENT = 4;
    public static int BOOKS_FRAGMENT = 5;
    public static int SNIPPETS_FRAGMENT = 6; …
Run Code Online (Sandbox Code Playgroud)

android adapter android-fragments android-viewpager

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

Select语句中的PHP变量

我已经编写了这个正在运行的 PHP 脚本,现在我想将行名称更改为一个变量(不确定行是否正确),我的意思是选择名称中的“名称” ......我已经尝试了几乎所有的方法,但没有给我正确的结果。我知道如何在像 ("'. $var .'") 这样的语句中使用变量的正常做法是行不通的。

<?php
require_once 'config.php';

$id = $_GET["id"]; //ID OF THE CURRENT CONTACT
$user = $_GET["user"];  //ID OF THE CURRENT USERS

$query = mysql_query("SELECT name FROM contacts WHERE contact_id='". mysql_real_escape_string( $id ) ."' and user_id='1';");

$retval = mysql_fetch_object($query)->name;

$retval = trim($retval);
echo $retval;
?>
Run Code Online (Sandbox Code Playgroud)

html php mysql variables select

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

来自RecyclerView的Android ViewHolder参数#onCreateViewHolder不同

这是我遵循的示例代码.

以下代码是onCreateViewHolder示例代码中的一部分:

@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                               int viewType) {
    // create a new view
    View v = LayoutInflater.from(parent.getContext())
                           .inflate(R.layout.my_text_view, parent, false);
    // set the view's size, margins, paddings and layout parameters
    ...
    ViewHolder vh = new ViewHolder(v);
    return vh;
}
Run Code Online (Sandbox Code Playgroud)

这是ViewHolder的一部分:

public static class ViewHolder extends RecyclerView.ViewHolder {
    public TextView mTextView;
    public ViewHolder(TextView v) {
        super(v);
        mTextView = v;
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,参数TextView v是错误的.

然后我在这个onCreateViewHolder方法中扮演一个技巧:

    ...
    TextView textView = (TextView) v.findViewById(R.id.tv_test);
    ViewHolder …
Run Code Online (Sandbox Code Playgroud)

android

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

带有 FAB 的片段布局与 CoordinatorLayout 冲突

我使用MaterialDrawer并根据所选项目MainDrawerActivity替换容器 内的每个片段FrameLayout,但我想添加一个与之交互的 FAB(仅用于此片段),CoordinatorLayout以便它可以处理很酷的动画。

主抽屉布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <android.support.design.widget.AppBarLayout
    android:id="@+id/appBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.v7.widget.Toolbar
      android:id="@+id/toolbar"
      android:layout_width="match_parent"
      android:layout_height="?actionBarSize"
      android:minHeight="?actionBarSize"
      android:theme="@style/Toolbar"
      app:layout_scrollFlags="scroll|enterAlways" />

  </android.support.design.widget.AppBarLayout>

  <FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我如何替换每个片段:

try {
  supportFragmentManager.beginTransaction().replace(R.id.container, FeedFragment()).commit()
} catch (e: IllegalStateException) {
  Timber.i(e, "Fragment is still there.")
}
Run Code Online (Sandbox Code Playgroud)

片段布局:

<FrameLayout 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"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:listitem="@layout/feed_item" />

  <android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="@dimen/spacing_medium" …
Run Code Online (Sandbox Code Playgroud)

android android-fragments material-design floating-action-button android-coordinatorlayout

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

ActionBarDrawerToggle在第一次滑动之前不会打开抽屉

我正在使用Google Design Support Library和DrawerLayout.

建立:

final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView drawer = (NavigationView) findViewById(R.id.drawer);
if(mDrawerToggle == null) {
    mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, mToolbar, R.string.open, R.string.feather_close);
    drawerLayout.addDrawerListener(mDrawerToggle);
    mDrawerToggle.syncState();
}
Run Code Online (Sandbox Code Playgroud)

当我启动我的应用程序时,会显示汉堡包图标的涟漪效果,但抽屉未打开.当我从左侧滑动至少一次打开抽屉时,汉堡包图标适用于整个运行时.切换按钮或抽屉本身没有特殊的监听器,并且未调用onOptionsItemSelected方法.

请帮我看看会发生什么.

谢谢.

android drawerlayout

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