ViewPager中的EditText设置监听器就会出错的解决办法

xml文件中有一个EditText,如下:

<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:inputType="text"
			        android:saveEnabled="true"
			        android:imeOptions="actionDone"
			        android:visibility="gone"
			        android:text=""        
			        />

java文件中调用方法如下,关键在红色的那一句:

LayoutInflater layoutInflater = getLayoutInflater();
view1 = layoutInflater.inflate(R.layout.qqtab_1, null);


<pre name="code" class="java"><span style="color:#ff0000;">tv1=(TextView) view1.findViewById(R.id.tv_1);
tv2=(TextView) view1.findViewById(R.id.tv_2);
tv3=(TextView) view1.findViewById(R.id.tv_3);
et1=(EditText) view1.findViewById(R.id.et_1);
et2=(EditText) view1.findViewById(R.id.et_2);
et3=(EditText) view1.findViewById(R.id.et_3);</span>

tv1.setOnLongClickListener(new OnLongClickListener<span style="font-family: Arial, Helvetica, sans-serif;">(){</span>
@Overridepublic 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() {@Overridepublic 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;}});

 主要是因为利用了ViewPager控件,所以不能直接findViewById找到id,必须调用View的findViewById方法! 

参考:blog.sina.com.cn/s/blog_629b701e0100rg4d.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值