------解决思路----------------------
project --->clean一下,能不能把logCat截图截全了。
------解决思路----------------------
onclick方法中设置点击方法不加括号
------解决思路----------------------
NoSuchMethod....方法没找到,或者没有匹配上,SendIndex(View v)去掉“View v”试试吧
------解决思路----------------------
android:onClick="SendIndex()"
这里不需要括号,只要引号里的值跟方法名一样就行
------解决思路----------------------
再写点击事件的话最好用监听吧
------解决思路----------------------
MyOnClickListener类里面的onClick方法中的this有问题,用activity的类名.this
------解决思路----------------------
嗯嗯 ~~ 谢谢各位大侠了 ,确实是android:onClick="SendIndex()"这里的问题,去掉括号就可以了
再写点击事件的话最好用监听吧
先前看的事例用的就是监听,不过就是报错 ,所以我就试试这种方式
上一层里说了private void InitTextView() {
t1 = (TextView) findViewById(R.id.text1);
t2 = (TextView) findViewById(R.id.text2);
t3 = (TextView) findViewById(R.id.text3);
t1.setOnClickListener(new MyOnClickListener(0));
t2.setOnClickListener(new MyOnClickListener(1));
t3.setOnClickListener(new MyOnClickListener(2));
}
/**
* 头标点击监听
*/
public class MyOnClickListener implements View.OnClickListener {
private int index = 0;
public MyOnClickListener(int i) {
index = i;
}
@Override
public void onClick(View v) {
Toast.makeText(this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
}
};
MyOnClickListener类里面的onClick方法中的this有问题,用activity的类名.this
你说的是Toast.makeText(this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
这一句里面的吗?
这个是我为了做测试后来加上去的,去掉这句也是报错的
InitTextView() 这个我是放在onCreate里面最后一行,不知道 位置影响执行吗?不过我都试过几个位置,都是报错
你确定代码编译过去了?
------解决思路----------------------
Toast.makeText(this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
this改成(你的activity).this
------解决思路----------------------
为什么不用监听? 很简单的。
代码:
...
TextView tv1 = (TextView)findViewById(R.id.tv1);
tv1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("Logcat Debug", "Debug: You clicked TextView...");
Toast.makeText(MainActivity.this, "再点击一次退出: "+v.getId(), Toast.LENGTH_LONG).show();
}
});
...
------解决思路----------------------
其实楼上的方法是最好也最常用的,代码条理清晰易于修改。楼主既然已经学Android开发,编码规范也最好参考一下,不容易出些莫名其妙的问题。
如果还想在源代码段上修改,试试下面这样的方式,看看怎么样:
private void InitTextView() {
t1 = (TextView) findViewById(R.id.text1);
t2 = (TextView) findViewById(R.id.text2);
t3 = (TextView) findViewById(R.id.text3);
MyOnClickListener myonclickListener=new MyOnClickListener( );
t1.setOnClickListener(myonclickListener);
t2.setOnClickListener(myonclickListener);
t3.setOnClickListener(myonclickListener);
}
/** * 头标点击监听*/
public class MyOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.text1:Toast.makeText(MainActivity.this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
case R.id.text2:Toast.makeText(MainActivity.this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
case R.id.text3:Toast.makeText(MainActivity.this, "再点击一次退出"+v.getId(), Toast.LENGTH_LONG).show();
}
}
};