小编Dan*_*Dan的帖子

使ImageView适合CardView的宽度

我有一个CardView圆角,我希望有一个ImageView顶部,如下面的材料设计指南中的示例所示.

components_cards8.png

<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
     android:id="@+id/card_view"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     card_view:cardCornerRadius="4dp">

     <!-- ... --> 
 </android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

然后在里面CardView我有这个ImageView

<ImageView
    android:id="@+id/imageView"
    android:layout_width="fill_parent"
    android:layout_height="150dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop"
    android:src="@drawable/default_cover" />
Run Code Online (Sandbox Code Playgroud)

如果我有card_view:cardCornerRadius设置,0dp那么ImageView卡就像我想要的那样.

IMAGE_1

但是,材料设计指南规定卡片应有圆角,而不是方角.

我遇到的问题是当我设置card_view:cardCornerRadius其他东西时 0dp,例如4dp,然后发生以下情况:

IMAGE_2

可以看出,ImageView它不适合CardView.

我的问题是,我怎样才能使它ImageView适合CardView圆角时的布局.

android android-appcompat imageview android-cardview

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

条件ON DUPLICATE KEY UPDATE(仅在特定条件为真时更新)

我使用了以下查询:

INSERT INTO userlist (username, lastupdate, programruncount, ip)
VALUES (:username, NOW(), 1, :ip)
ON DUPLICATE KEY UPDATE
lastupdate = NOW(), programruncount = programruncount + 1, ip = :ip;
Run Code Online (Sandbox Code Playgroud)

但是,我也想制作ON DUPLICATE KEY UPDATE条件,所以它将执行以下操作:

  • IF lastupdate不到20分钟前(lastupdate > NOW() - INTERVAL 20 MINUTE).
  • True:更新lastupdate = NOW(),添加一个programruncount然后更新ip = :ip.
  • 错误:所有字段都应保持不变.

我不确定如何做到这一点,但在环顾四周后,我尝试IFON DUPLICATE KEY UPDATE部分中使用Statement .

INSERT INTO userlist (username, lastupdate, programruncount, ip)
VALUES ("testuser", NOW(), "1", "127.0.0.1") …
Run Code Online (Sandbox Code Playgroud)

mysql sql pdo

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

向ViewPager添加标题

我已为可滑动标签设置了ViewPager,现在我想在页面顶部添加标题以指示正在显示的片段.

这是到目前为止的代码:

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:id="@+android:id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends FragmentActivity {

    private PagerAdapter mPagerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setContentView(R.layout.activity_main);

        this.initialisePaging();
    }

    private void initialisePaging() {

        List<Fragment> fragments = new Vector<Fragment>();

        // Add fragments here
        fragments.add(Fragment.instantiate(this, PickerFragment.class.getName()));
        fragments.add(Fragment.instantiate(this, DisplayFragment.class.getName()));

        this.mPagerAdapter  = new PageAdapter(super.getSupportFragmentManager(), fragments);
        ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
        pager.setAdapter(this.mPagerAdapter);
    }

}
Run Code Online (Sandbox Code Playgroud)

PageAdapter.java

public class PageAdapter extends FragmentPagerAdapter {

    private List<Fragment> fragments;

    public PageAdapter(FragmentManager fm, …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

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

等待ASyncTask完成或变量设置

我试图将一个活动中的变量设置为我的AsyncTask的结果.我已经读过,我不能返回变量,我必须在我的活动中设置变量,然后在onPostExecute方法中更改它.

我的问题是AsyncTask完成后我需要使用该变量.我遇到了麻烦,因为到目前为止我尝试过的所有解决方案都会导致UI冻结,然后无响应.

到目前为止我尝试了什么:

while (!task.isCancelled()) {
    // Wait... 
}
Run Code Online (Sandbox Code Playgroud)

while (variable == null) { 
    // Wait ...
}
Run Code Online (Sandbox Code Playgroud)

我正在做的是将变量从AsyncTask传递给我的Activity的最佳方法吗?如果是,那么如何在不锁定UI的情况下等待任务完成活动?

android android-asynctask

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

C#打开一个新表单并关闭另一个表单

在我的程序中,我在主窗体之前显示一个登录表单,一旦程序检测到成功登录,我就用它:

MainForm Main = new MainForm();
Main.Show();
this.Hide();
Run Code Online (Sandbox Code Playgroud)

这工作正常,但有一个问题,登录表单仍然是打开的,即使它是隐藏的,所以当程序关闭时,进程仍然挂起,我怎么能阻止这种情况发生?

对不起,忘了添加,使用this.Close();不起作用,将完全关闭该程序.

c# winforms

8
推荐指数
2
解决办法
6055
查看次数

在两个视图(或最低视图)下定位视图

我有一个RelativeLayoutImageView在左边,然后TextView在右边.它TextView是通过他们的API从网站下载的,所以每次都会有不同的内容.

我希望TextView在这两个下面有另一个,但是当TextView长度小于时,我遇到了问题ImageView.当发生这种情况时,TextView底部将重叠,ImageView因为我将底部对齐在右上方的TextView下方TextView.

我需要做的是能够TextView在最低的视图下对齐底部.

这是我的布局XML:

<?xml version="1.0" encoding="utf-8"?>
<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" >

    <ImageView
        android:id="@+id/itemImageView"
        android:layout_width="100dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/id_image" />

    <TextView
        android:id="@+id/itemContentsTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/itemImageView"
        android:layout_marginRight="2dp"
        android:layout_marginTop="2dp"
        android:text="Sample contents\nSample contents\nSample contents" />

    <TextView
        android:id="@+id/itemIdTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/itemContentsTextView"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="5dp"
        android:text="1234" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android alignment android-layout

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

单击从自定义列表视图中获取数据

我有一个自定义ListView,其中两个TextView都包含不同的值.我希望能够在单击某个项目时从其中一个TextView获取内容.

这是我到目前为止的代码:

listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String value;
// value = (get value of TextView here)
     }
});
Run Code Online (Sandbox Code Playgroud)

我希望能够分配value一个TextView的文本.

android listview

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

从ListArray填充自定义ListView

我有以下课程:

public class Person {

    public String name;
    public String description;

    public Board(String name, String description) {
        this.name = name;
        this.description = description;
    }

    public String getName()
    {
        return this.name;
    }

    public String getDescription()
    {
        return this.description;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我有ArrayList<Person>一些这些数据.

我想要做的是填充我的ListView,我做了一个(坏)模型,我希望它看起来像:

在看了一些关于这个在线的信息之后,我做了一个新的布局,我在其中放了一个Medium TextView,下面有一个Small TextView,但现在我很困惑,我怎么能用我的MainActivity上的ListView链接它然后用我的数据填充它ArrayList<Person>.

android listview

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

PDO - UPDATE查询的语法无效

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= time + '1' WHERE username = 'admin-test'' at line 1当我尝试执行以下查询时,我收到错误:

try
{
    $sth = $dbh->prepare("UPDATE alltimehighscores time = time + :time
        WHERE username = :username");
    $arr = array(
        ':username' => $username,
        ':time' => $time
        );
    $sth->execute($arr);
}
catch (PDOException $e)
{
    echo $e->getMessage();
    exit();
}
Run Code Online (Sandbox Code Playgroud)

该 …

php sql pdo

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

从类调用表单时的StackOverflow

StackOverflowException当我从班上打电话给我的表格时,我得到了一个.

在我用MainForm我调用这个Youtube.cs课时,Youtube yt = new Youtube();.然后在我的Youtube班上我打电话给MainForm使用,MainForm main = new MainForm();.我相信这是导致StackOverflow的原因,因为它似乎正在创建一个循环.

我需要从我的类和我的类访问Youtube类,所以有没有办法解决这个问题而不会导致StackOverflow?MainFormMainFormYoutube

这是从顶部MainForm:

public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }

    Youtube yt = new Youtube();
Run Code Online (Sandbox Code Playgroud)

这是从顶部Youtube.cs:

class Youtube
{
    MainForm main = new MainForm();
Run Code Online (Sandbox Code Playgroud)

c# stack-overflow winforms

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