Android onClick侦听器不工作,没有错误
我无法正确使用onClick的编码我有一个包含8个按钮的主要活动按钮1应打开脸谱到第2、4、5、6和7页应打开web浏览器到定义的页面,按钮8打开带有预设号码的电话拨号器进行呼叫。我不能让它在应用程序崩溃的情况下工作,我可以将一个onclick侦听器设置为按钮1并让它工作,但当我添加下一个时,它会使应用程序崩溃,我在eclipse中没有收到错误,我被告知要用一个片段来处理onclick,但我不知道如何做,有人能帮我编写代码吗Android onClick侦听器不工作,没有错误,android,Android,我无法正确使用onClick的编码我有一个包含8个按钮的主要活动按钮1应打开脸谱到第2、4、5、6和7页应打开web浏览器到定义的页面,按钮8打开带有预设号码的电话拨号器进行呼叫。我不能让它在应用程序崩溃的情况下工作,我可以将一个onclick侦听器设置为按钮1并让它工作,但当我添加下一个时,它会使应用程序崩溃,我在eclipse中没有收到错误,我被告知要用一个片段来处理onclick,但我不知道如何做,有人能帮我编写代码吗 这是我到目前为止仅有的两个按钮,仍然没有一个打开脸谱或一个打开电话拨号
这是我到目前为止仅有的两个按钮,仍然没有一个打开脸谱或一个打开电话拨号器,但这是我得到的,然后它崩溃了——杰瑞33分钟前
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addButtonClickListner();
}
public void addButtonClickListner() {
Button btnNavigator = (Button)findViewById(R.id.imageButton2);
btnNavigator.setOnClickListener(new OnClickListener(){
public void onClick(View arg) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("www.*****.com"));
startActivity(intent);
}
});
}
改为这样做
请看我的评论。注释为的部分
// Test Code:
是对您正在做的事情几乎毫无用处的代码。switch语句中的测试代码是您需要替换为您希望对每个按钮执行的操作的代码。同样重要的是要注意,在我说“/…继续按钮3-按钮8”的地方,我只是想重复我从前两个按钮开始的模式,剩下的六个按钮
如果您想使用我给定的测试代码对其进行测试,以下是我的布局(请确保删除“//test code:”,以便测试代码行不再被注释掉:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press a button"
android:id="@+id/text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:id="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2"
android:id="@+id/button2" />
</LinearLayout>
注:
重要的是要了解,在“良好”xml布局中,“android:text=”部分将设置为“android:text=@string/“string_id”,而不是一些常规字符串,以帮助本地化
确保将声明包的最顶行更改为放置活动的任何包。此包的名称位于“Application”/src/“package_name”,通常类似于com.example.applicationname
我还想说,我已经在代码中包含了注释,这样就可以复制和粘贴它,而无需反复访问此链接,以防有人想使用代码作为指南,而不是因为我想在答案中发布大量代码
有时onClick监听器由于其他原因无法工作
透明视图位于视图的顶部
请注意发布您的代码,我相信这里有人可以很容易地帮您完成这一项。这是我目前为止只拥有的两个按钮,还没有打开Facebook或电话拨号器的按钮,但这是我所能得到的。导入android.net.Uri;导入android.os.Bundle;导入android.app.Activity;导入android.content.Intent;import android.view.Menu;import android.view.view.OnClickListener;import android.widget.Button;公共类main活动扩展活动{@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.Activity_main);addButtonClickListner();}public void addButtonClickListner(){Button Btnavigator=(Button)findViewById(R.id.imageButton2);Btnavigator.setOnClickListener(new OnClickListener(){public void onClick(View arg){Intent Intent Intent=new Intent(Intent.ACTION\u视图,Uri.parse(*****.com)))startActivity(intent);}}}}{Button Btnavigator=(Button)findViewById(R.id.imageButton3);Btnavigator.setOnClickListener(new OnClickListener(){public void onClick(View arg){intent intent intent=new intent(intent.ACTION\u View,Uri.parse(“******.com”);startActivity(意图);}}}}}只要遵循这个方法…这是最好的,也更容易理解…请注意他正在实施的课程…非常感谢你,我今天会给这一个机会,并在完成后发表评论。当然,如果它有效,请随时升级投票并接受…我喜欢以下几点:Pit不会让我升级投票,我只不过我现在对应用程序c有一个问题rashing当我将其加载到emu中时,突然发现应用程序已停止。我打算添加我的最终代码,但我不知道如何添加字符限制,就像上面所做的那样。这是我想的另一个问题。开始另一个主题(也称为“问问题”)并在问题中发布您的代码。有关如何将代码直接放入问题:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press a button"
android:id="@+id/text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:id="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2"
android:id="@+id/button2" />
</LinearLayout>