请解释一下软键盘的问题.例如,我在我的活动或对话片段或片段活动上有一个EditText,无论如何.这里是:
<EditText
android:id="@+id/edPswrd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" >
<requestFocus />
</EditText>
Run Code Online (Sandbox Code Playgroud)
当它第一次显示我没有看到软键盘并且必须按editText才能获得焦点并且键盘出现.另一个活动是不同的,当它出现在屏幕上时,键盘在没有任何帮助的情况下加载.我以为
<requestFocus />
意味着EditText将被聚焦并且键盘将出现,但我错了.
如何管理哪些组件将获得焦点,键盘将自动显示.
我有Activity
一个ListView
基于SimpleCursorAdapter
和一个按钮.当我单击按钮时,我希望行高变大.我决定TextView
在按钮上使用高度OnClick
:
TextView tvRow = (TextView) findViewById(R.id.tvRow);
tvRow.setHeight(20);
Run Code Online (Sandbox Code Playgroud)
但它只更改列表的第一行.
我可以在改变高度Adapter
的getView
方法:
TextView tvRow = (TextView) view.findViewById(R.id.tvRow);
tvRow.setHeight(20);
Run Code Online (Sandbox Code Playgroud)
但这不是我需要的功能; 按钮需要这个OnClick
.
如何ListView
通过点击按钮来更改行高?也许甚至是一招......谢谢你的时间.
更新:
当我把这个代码放在SimpleCursorAdapter
一切工作正常,但在方法getView
中BaseAdapter
:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
view = lInflater.inflate(R.layout.itemF, parent, false);
}
...
final LayoutParams params = view.getLayoutParams();
if (params == null) { …
Run Code Online (Sandbox Code Playgroud) 我在我的Android应用程序(java)中这样做:
String sdt_ = DateFormat.format("yyyyMMdd HH:mm", dt_).toString();
Run Code Online (Sandbox Code Playgroud)
但我得到了这个
01-16 14:31:13.308: D/ThS(25810): dt_ = Wed Jan 16 13:28:00 GMT+00:00 2013
01-16 14:31:23.758: D/ThS(25810): sdt_ = 20130116 HH:28
Run Code Online (Sandbox Code Playgroud)
如果我改变HH,我会得到这个
sdt_ = 20130116 01:28
Run Code Online (Sandbox Code Playgroud)
但我需要这个
sdt_ = 20130116 13:28
Run Code Online (Sandbox Code Playgroud) 我想对主页按钮进行编程,因此它将删除Activities
堆栈中的所有按钮,除了一个。我在这里做了:如何完成堆栈上的每个活动,除了 Android 中的第一个活动
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
switch (itemId) {
case android.R.id.home:
Intent intent = new Intent(this, AMainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
break;
...
Run Code Online (Sandbox Code Playgroud)
但这种方式不适合我,因为它删除了所有Activities
(包括第一个)并再次启动第一个。例如 - 如果我在 中检查用户密码onCreate()
,他会再次被问到。如何Activities
从堆栈中删除所有内容,但第一个不会被“触及”?
我有一个ListView
,SimpleCursorAdapter
我想知道如何获得ListView
一个身份证的位置?我需要它来执行单击列表中的特定行,如下所示
lv.performItemClick(lv, pos, lv.getItemIdAtPosition(pos));
Run Code Online (Sandbox Code Playgroud)