标签: android-edittext

如何使EditText框高度扩展

这是我的布局:

<?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" >

    <EditText
        android:id="@+id/etTweetReview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:ems="10"
        android:hint="Discuss up to 140 characters"
        android:imeOptions="actionDone"
        android:inputType="textCapSentences"
        android:lines="2"
        android:maxLength="140"
        android:paddingBottom="10dp"
        android:singleLine="false" />

    <Button
        android:id="@+id/theReviewBarButton"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp"
        android:text="Submit Review"
        android:textSize="22sp" />

    <Spinner
        android:id="@+id/spinnerSort"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp" />

    <ListView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:scrollbars="none"
        android:layout_marginRight="5dp"
        android:layout_marginTop="8dp" >
    </ListView>

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

当EditText框到达结尾时,我希望它包装到下一行.现在,它只是继续向右移动屏幕上的所有内容.

android android-edittext

67
推荐指数
3
解决办法
8万
查看次数

Android EditText中的垂直内容对齐

我有一个多行EditText:

<EditText 
    android:layout_gravity="center"
    android:id="@+id/txtMessage"
    android:layout_height="wrap_content"
    android:layout_below="@+id/lblMessage"
    android:layout_width="wrap_content"
    android:width="250dip"
    android:text=""
    android:maxLength="760"
    android:lines="4">
</EditText>
Run Code Online (Sandbox Code Playgroud)

现在内容与中间对齐.我希望将内容与顶部对齐如下:

垂直对齐的文本示例http://img28.imageshack.us/img28/3972/edittext.png

有没有财产可以做到这一点?

layout android android-xml android-edittext layout-gravity

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

如何在创建Activity时使EditText不会聚焦

在你下注并标记为重复之前,请阅读我的问题.

我已经阅读了讨论这个问题的其他问题,所有问题都适用于我的布局,除了第一个创建的布局.

目前,这是我onCreate方法的首要任务:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)

^这使得它至少在启动时没有弹出键盘,但EditText仍然专注于.

这是XML我的EditText:

<EditText
    android:id="@+id/password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/changePass"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="167dp"
    android:ems="10"
    android:imeOptions="flagNoExtractUi"
    android:inputType="textPassword"
    android:maxLength="30" >
</EditText>
Run Code Online (Sandbox Code Playgroud)

这是我开展活动时的样子:

在此输入图像描述

问题是,对于某些手机,如果EditText像这样聚焦,他们就无法写入.我希望它不要集中注意力.

我所做的工作适用于下一个布局,因为它EditTexts没有关注,看起来更像是这样:

在此输入图像描述

请注意,它的布局是相同的.这是用户返回到此屏幕后的屏幕,这表示没有任何问题,XML因为这是相同的XML,但问题EditText是仅关注创建活动的时间.

我已经完成了研究,所有其他问题对我没有帮助(他们确实帮助键盘不显示,谢天谢地).我怎样才能使它EditText在启动时看起来像第二个截图,而不是第一个?

java android focus android-edittext

66
推荐指数
3
解决办法
9万
查看次数

TextWatcher用于多个EditText

我想TextWatcher为多个EditText字段实现接口.目前我正在使用:

text1.addTextChangedListener(this);
text2.addTextChangedListener(this);
Run Code Online (Sandbox Code Playgroud)

然后重写我的Activity中的方法:

public void afterTextChanged(Editable s) {}

public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) 
{
 // do some operation on text of text1 field
 // do some operation on text of text2 field 
}
Run Code Online (Sandbox Code Playgroud)

然而,这工作正常但我正在寻找其他方法,以便我可以明确地确定当前关注的EditText字段SoftKeyboard.

android interface textwatcher android-edittext android-activity

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

阻止在EditText上输入键,但仍将文本显示为多行

如何在Android上创建一个EditText,使得用户可能不会输入多行文本,但显示仍然是多行的(即有文字换行而不是文本转到右侧)?

它类似于内置的SMS应用程序,我们无法输入换行符,但文本以多行显示.

android multiline android-edittext

65
推荐指数
8
解决办法
6万
查看次数

在编辑文本中获取Android中的光标位置?

我正在使用自定义的EditText视图.我已经覆盖了OnKeyUp事件,并且能够捕获Enter键按下.现在我的要求是,当用户输入文字"你好.你好吗?" 然后将光标保持在单词"are"之后并按回车键,我需要获取光标位置,以便我可以在按下Enter键时提取光标后的文本.请让我知道如何做到这一点.感谢您的时间和帮助.

android android-keypad android-edittext

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

在EditText中放置常量文本,该文本应该是不可编辑的 - Android

我想在editText中有一个常量文本,如:

http://<here_user_can_write>
Run Code Online (Sandbox Code Playgroud)

用户不应该从" http://" 删除任何字符,我搜索了这个并发现了这个:

editText.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
            int end, Spanned dst, int dstart, int dend) {
            return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
        }
    }
}); 
Run Code Online (Sandbox Code Playgroud)

但我不知道它是否限制用户不从开始到结束限制删除任何字符.我也无法理解Spanned类的使用.

一种方法是一个很好的选择,如果我们可以放入TextView内部,EditText但我不认为这是可能的Android,因为两者都是视图,是否可能?

android textview android-edittext

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

在RecyclerView中保存EditText内容

我有列表项目EditText,我不知道会有多少项目.当我输入一些文本时EditText,我有一个问题,然后向下滚动RecyclerView,在我再次向上滚动后,我的第一个没有文字EditText.

我想知道什么,我应该在哪里编写代码,以便在用户输入或完成输入时(我想用a做TextWatcher)在EditText文本中保存到文件中(我将它保存在一个文件中).外部存储中的txt文件)

我应该onCreate在活动方法或适配器类或其他地方这样做吗?

这是一些代码

主要活动代码

 public class MainActivity extends Activity {

    RecyclerView mRecyclerView;
    MyAdapter mAdapter;
    String[] mDataSet= new String[20];
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // generating text for editText Views
        for (int i = 0; i<=19; i++){
        mDataSet[i]= "EditText n: "+i;

    }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
        mAdapter = new MyAdapter(mDataSet);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
        mRecyclerView.setItemAnimator(new DefaultItemAnimator());
        mRecyclerView.setAdapter(mAdapter);
        mRecyclerView.setHasFixedSize(true);
    }
Run Code Online (Sandbox Code Playgroud)

我的适配器代码

public class MyAdapter …
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-recyclerview

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

Listview中的EditText在Android 4.x上按下时失去焦点

我知道这里有很多类似的问题,但我无法在简单的示例应用程序中使用任何提供的解决方案.

第一次显示软键盘时会出现问题.显示后,只需再次按editText即可进行编辑.

尝试以下方法:

 android:windowSoftInputMode="adjustPan|adjustResize"
Run Code Online (Sandbox Code Playgroud)

这不是解决任何问题.在弹出软键盘后,似乎必须使用此行来调整活动的大小.不幸的是,它也导致任何EditTexts失去焦点.这可能是ListView本身在调整大小过程后获得关注的焦点.所以我尝试了以下解决方法:

 listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
Run Code Online (Sandbox Code Playgroud)

这总是导致第一可见的EditTextListView包含获得焦点,这是不可取的.第二行中的第二个EditText应该在按下时获得焦点,这不会发生.此外,如果我最终设法聚焦另一个EditText,然后显示第一个(例如通过按下'Next' softkeyboard),第一个可见的将在键盘被解除后重新获得焦点并且ListView再次调整为其完整大小.

我尝试了其他一些事情,比如拦截onFocusChange()ListView的事件,同时知道它按下了哪个EditText TouchListener.再次请求关注某个EditText也没有取得任何成功.

对于相关项目,使用a ScrollView而不是ListView其他用户建议的选项不是一种选择.

android ontouchlistener android-softkeyboard android-listview android-edittext

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

Android中是否弃用了xml属性singleLine?

singleLineis /用于xml布局文件中TextView,EditText如下所示:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true" />
Run Code Online (Sandbox Code Playgroud)

SO上的一些人singleLine不赞成,而其他人仍然建议使用它.有时甚至似乎有必要在maxLines="1"不起作用时使用.(见这里,这里这里)

文档应该是回答这个问题的地方,对吧?在这里,他们说:

此常量在API级别3中已弃用.

不推荐使用此属性.maxLines相反,使用更改静态文本的布局,并使用textMultiLineinputType属性中的标志代替可编辑的文本视图(如果提供了singleLine和inputType,则inputType标志将覆盖singleLine的值).

但是,在TextView文档中,没有任何迹象表明它已被弃用,无论是for android:singleLine还是for setSingleLine或for setTransformationMethod.相比之下,相同的TextView文档确实声明了其他类似STATUS_BAR_HIDDENfitSystemWindows不赞成的东西.所以是singleLine弃用的疏忽,被它"undeprecated",还是什么?

这个问题以前曾被问过,但不是问题的主要焦点(并没有得到回答).

android attributes textview android-edittext android-singleline

63
推荐指数
8
解决办法
3万
查看次数