我Activity在Android中有两个元素:
EditText ListView当我Activity开始时,EditText立即有输入焦点(闪烁光标).我不希望任何控件在启动时具有输入焦点.我试过了:
EditText.setSelected(false);
EditText.setFocusable(false);
没运气.如何说服开始EditText时不选择自己Activity?
我有一个EditText-Field并为它设置一个OnFocusChangeListener.当它失去焦点时,会调用一个方法,该方法使用数据库中的一个方法检查EditText的值.如果方法的返回值为true,则显示toast,焦点应再次返回EditText.焦点应始终返回EditText并且键盘应该显示,直到方法的返回值为false.
编辑:我想,我还没有完全清楚我的真正问题:屏幕上没有其他项目应该能够编辑,直到EditText的值被编辑为一个值,这使得方法"checkLiganame(liganame) "回归虚假.只有EditText-Field应该是可编辑的.
这是我的代码(这对我不起作用):
final EditText Liganame = (EditText) findViewById(R.id.liganame);
    Liganame.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus) {
                String liganame = Liganame.getText().toString();
                if (checkLiganame(liganame)) {
                    Toast toast = Toast.makeText(CreateTableActivity.this,
                            "Dieser Liganame ist bereits vergeben",
                            Toast.LENGTH_SHORT);
                    toast.show();
                    Liganame.requestFocus();
                }
            }
和方法:
public boolean checkLiganame(String liganame) {
    boolean found = false;
    DatabaseHelper databaseHelper = new DatabaseHelper(this);
    SQLiteDatabase db = databaseHelper.getReadableDatabase();
    Cursor cursor = db.query("liga", new String[] { "liganame" },
            "liganame = '" + liganame + "'", …在我的应用程序中,我有一个单独的EditText,一些TextViews按钮和一个微调器.我相信,我的EditText会获得焦点,因为它是此活动中唯一可聚焦的视图.我的EditText节目带有橙色边框和光标在场上.  
现在我想从这个字段中删除焦点(我不希望光标和边框显示).有没有办法做到这一点?
通过做button.seFocusableInTouchMode()和我能够专注于按钮button.requestFocus().但这突出了按钮,显然不是我想要的.
我的布局上有一个EditText.在用户输入一些文本并点击"完成"键后,我想从中删除闪烁的光标.我已经搜索了StackOverflow并找到了3个对我不起作用的答案.闪烁的光标仍然存在.
private class MyOnKeyListener implements OnKeyListener {
  public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN
    && keyCode == KeyEvent.KEYCODE_ENTER) {
      // FAIL 0
      MyActivity.this.findViewById(R.id.someOtherView).requestFocus();
      // FAIL 1
      InputMethodManager imm = (InputMethodManager)getSystemService(
        Context.INPUT_METHOD_SERVICE
      );
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
      // FAIL 2
      MyActivity.this.getWindow().setSoftInputMode(
        WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
      );
      return true;
    } else {
      return false;
    }
  }
}
我想不出如何实现onKeyPreIme(int keyCode, KeyEvent event)的Fragment.
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && 
        event.getAction() == KeyEvent.ACTION_UP) {
            // do your stuff
            return false;
    }
    return super.dispatchKeyEvent(event);
}
我尝试了很多,但没有任何作用.另外,我在Google或Stack Overflow上找不到任何内容.我想在按下后退键并且软键盘启动时执行操作.设置onKeyListener我的EditTexts不起作用,因为KeyEvent.KEYCODE_BACK当软键盘启动时不会调用.我感谢任何帮助和源代码.
我在gridview上遇到clickListener问题.LongClickListener可以正常工作.但我似乎无法从点击监听器获得任何响应.
我的代码如下.
我很困惑为什么长按工作但不是正常的点击,
任何指针将不胜感激
谢谢
final GridView gridView = (GridView) findViewById(R.id.grid_view);
gridView.setNumColumns(numOfColumns);
gridView.getLayoutParams().width = (CELL_WIDTH * numOfColumns);
gridView.getLayoutParams().height = (CELL_WIDTH * numOfRows);
....
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View v,
                                int position, long id) {
            Log.d("ABCD", "Position Single Click is " + position);
            // Ideally in here I want to put to open a soft keyboard for the user to enter a value
            // InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            // imm.showSoftInput(gridView, InputMethodManager.SHOW_IMPLICIT);
        }
    });
 gridView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
      @Override
      public …我知道如何使用自定义视图(EditText或TextView)来描边文字但我无法实现像这样的美丽的东西,这是使用Photoshop完成的.是的,它也有外影.
到目前为止我所做的是调整笔画宽度和笔画连接样式.但是,如果我增加笔划宽度,则笔划会发生整个文本.据我所搜索,有一个名为MagicTextView的库,但它也无法提供上述结果.
更新:我根据@pskink的建议调整了一些内容.它现在有效.但是我不能再拖了.如果我拖动EditText,会出现一些像这样的奇怪线条. 

这是代码:
@Override public void onDraw(Canvas canvas) {
  final int x = this.getLeft();
  final int y = this.getBottom();
  mText = this.getText().toString();
  p.setStrokeWidth(30);
  p.setStyle(Style.STROKE);
  p.setStrokeJoin(Join.ROUND);
  p.setColor(0xffffffff);
  canvas.drawText(mText, x, y, p);
  p.setStyle(Style.FILL);
  p.setColor(0xff000000);
  canvas.drawText(mText, x, y, p);
}