解决方案 »

  1.   

    enabled应该无法监听事件了吧。前面放个TextView,监听TextView的事件,然后切换显示
      

  2.   

    感觉你逻辑有问题,你debug看下是不是这句话editText1_name .setFocusable(true);报错
      

  3.   

    ls的方法可取,不可编辑时,用textview显示,可编辑了直接替换成edittext显示。而且我有个逻辑上的疑问,难道edittext不是单击就填写?设计单击变成可编辑这是什么逻辑?
      

  4.   

    这个思路真不错,但是我只能先试试,不知道会不会用,而且每个界面有18个EditText,全都换掉会不会很麻烦。。
      

  5.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理
      

  6.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理那什么时候转换为不可编辑?失去焦点的时候?那完全可以监听他的焦点,来转换显示效果。没必要监听点击事件。更没必要转换是否可编辑。
      

  7.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理那什么时候转换为不可编辑?失去焦点的时候?那完全可以监听他的焦点,来转换显示效果。没必要监听点击事件。更没必要转换是否可编辑。平时用的时候都是不可编辑的啊,现在我用这个方法是添加长按事件监听器,长按就会替换变为可编辑的EditText,感觉挺好用的!我是新手,焦点刚才也试了一下,感觉不太容易,而且我的课程表想要长按才可以编辑,不是焦点可以解决的吧?
      

  8.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理那什么时候转换为不可编辑?失去焦点的时候?那完全可以监听他的焦点,来转换显示效果。没必要监听点击事件。更没必要转换是否可编辑。
    同时我想问一下,怎样获得layout的监听器,看一下这个网址:
    http://zhidao.baidu.com/link?url=W1zXxoRKwls0q-GBnXvtyxX1BacMUJe0Ub4Zpu-BYD4c8xbadFev4JuteKmANmGiw0Aa5Gdft3K2yFnXDjlpu_
    layout是什么类型的呢
      

  9.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理那什么时候转换为不可编辑?失去焦点的时候?那完全可以监听他的焦点,来转换显示效果。没必要监听点击事件。更没必要转换是否可编辑。
    同时我想问一下,怎样获得layout的监听器,看一下这个网址:
    http://zhidao.baidu.com/link?url=W1zXxoRKwls0q-GBnXvtyxX1BacMUJe0Ub4Zpu-BYD4c8xbadFev4JuteKmANmGiw0Aa5Gdft3K2yFnXDjlpu_
    layout是什么类型的呢的确,如果是长按,onlongclicklistener,焦点搞不定。
    另外那个网址抱歉我目前还没法看,公司网络限制,只能google不能百度,中午我再看看
      

  10.   

    是这样的,我在做一个课程表,里面是个tablelayout,全是由EditText组成,想在可编辑与不可编辑之间切换,方便课程变化时改变课程表,但是一般时候不用改,就是这么个原理那什么时候转换为不可编辑?失去焦点的时候?那完全可以监听他的焦点,来转换显示效果。没必要监听点击事件。更没必要转换是否可编辑。
    同时我想问一下,怎样获得layout的监听器,看一下这个网址:
    http://zhidao.baidu.com/link?url=W1zXxoRKwls0q-GBnXvtyxX1BacMUJe0Ub4Zpu-BYD4c8xbadFev4JuteKmANmGiw0Aa5Gdft3K2yFnXDjlpu_
    layout是什么类型的呢的确,如果是长按,onlongclicklistener,焦点搞不定。
    另外那个网址抱歉我目前还没法看,公司网络限制,只能google不能百度,中午我再看看
    那个网址原文如下,很短
    {安卓开发}layout怎么注册OnTouchListener监听器
    2013-04-19 10:14 提问者采纳
    layout.setOnTouchListener(new OnTouchListener() {
                            
                            public boolean onTouch(View v, MotionEvent event) {
                                    // TODO Auto-generated method stub
                                   //处理你想要的效果
                            }
                    });
    我想问这个layout肯定是布局标签的id,但在java文件中它是什么类型的,怎么声明的,谢谢
      

  11.   

    这个的话,我没有查API,但我推测绝大多数布局都是存在ontouchlistener的,比如线性布局,相对布局等等。
    如果你想定制某个区域点击事件,你完全就可以把这个layout按照你的布局类型来声明,比如你是相对布局:
    RelativeLayout layout = (RelativeLayout)findViewById(R.id.xxxx);layout.ontouch.......纯手打,可能有拼写错误
      

  12.   


    非常感谢,csdn的网友真强大,以后不懂就来这问啦!
      

  13.   


    再麻烦一下,很郁闷的一个问题是只要我给TextView加上监听器,程序就会崩溃,很郁闷!找不到解决办法,以下是出错的信息(红色部分报错):
    private void initListener() {
    textView1.setOnClickListener(new MyOnClickListener(0));
    textView2.setOnClickListener(new MyOnClickListener(1));
    textView3.setOnClickListener(new MyOnClickListener(2));
    textView4.setOnClickListener(new MyOnClickListener(3));
    textView5.setOnClickListener(new MyOnClickListener(4));

    viewPager.setAdapter(new MyPagerAdapter(views));
    viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
    viewPager.setCurrentItem(0);
    textView1.setTextColor(getResources().getColor(R.color.color_bai));
       
    System.out.println("4");
    tv1.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
    System.out.println("5");   
    tv1.setVisibility(View.GONE);
    et1.setVisibility(View.VISIBLE);
    et1.setText(tv1.getText().toString());
    et1.setOnEditorActionListener(new OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_DONE)  {
    et1.setVisibility(View.GONE);
    tv1.setVisibility(View.VISIBLE);
    tv1.setText(et1.getText().toString());
    }
    return false;
    }
    });


    return false;
    }
    });
    }以下是那个xml部分 :
    <TextView
                        android:id="@+id/tv_1"
                        android:layout_width="103dp"
                        android:layout_height="match_parent"
                    android:background="@drawable/table_frame_gray"  
                        android:gravity="center"
                        android:longClickable="true"
                        android:text="大学物理_01" />
                    <EditText
            android:id="@+id/et_1"
            android:layout_width="103dp"
                             android:layout_height="match_parent"
                             android:background="@drawable/table_frame_gray"  
                             android:gravity="center"
            android:saveEnabled="true"
            android:imeOptions="actionDone"
            android:visibility="gone"
            android:text=""        
            />
    不管怎么设置监听器都会出错,我都快疯了,麻烦看一下,非常感谢!