所以,我有一个Android应用程序作为项目的一部分。分配是使用4个按钮创建一个应用程序,这将导致3个不同的活动,第4个按钮将用作退出功能。 我有退出功能,并尝试使第一个按钮工作,但它一直崩溃。
此按钮应指向一个原始Web浏览器的活动,其中包含url的edittext,go按钮和用于显示页面的webview。然而,我甚至无法到达那里。
当我点击要转到此活动的按钮时,我收到应用已停止的错误。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
TextView naslov = (TextView) findViewById(R.id.naslovActivity);
SharedPreferences sharedPreferences = getSharedPreferences("Podaci", 0);
naslov.setText(sharedPreferences.getString("IME_PREZIME", "N/A"));
Button exit = (Button) findViewById(R.id.exitBtn);
Button web = (Button) findViewById(R.id.webBtn);
web.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("INFOR", "Before intent");
Intent myIntent = new Intent(getApplicationContext(), WebActivity.class);
Log.i("INFOR", "Middle");
startActivity(myIntent);
Log.i("INFOR", "After intent");
}
});
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent myIntent = new Intent(getApplicationContext(), MyActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
myIntent.putExtra("EXIT", true);
startActivity(myIntent);
}
});
}
所以我把那些日志放在那里,看看代码到底有多远。它记录第一个和第二个,但从不记录第三个,因此startActivity(myIntent)似乎存在问题。
有什么想法吗?退出功能是否会干扰它?我还有两个按钮和活动要做,但我害怕开始,因为我甚至无法让这个工作。
答案 0 :(得分:0)
更改以下内容,
Intent myIntent = new Intent(getApplicationContext(), WebActivity.class);
到
Intent myIntent = new Intent(YourActivityName.this, WebActivity.class);
或者甚至以codeMagic建议的方式查看view.getContext()。
另外还有一件事是尝试实现OnClickListener并且也一次调用onClick,
exit.setOnClickListener(this);
然后在onClick上检查哪个按钮调用它,
@override
onClick(View v){
switch(c.getId()){
case R.id.exitBtn:
//your code
break;
}
}
答案 1 :(得分:0)
如果WebActivity.class
中的代码一切正常,您可能忘记将活动放在Android清单中,如下所示:
<activity android:name=".WebActivity" android:label="@string/app_name"></activity>
建议:不要使用balkan语言作为变量名,当你以软件开发人员的身份获得工作时,你可能会用英语命名变量,注释等,甚至可以在stackoverflow上发帖请求帮助: )尽快开始更好的练习。