我想创建一个在单击菜单项后启动新活动的intent,但我不知道如何执行此操作.我一直在阅读android文档,但我的实现不正确..并且正确方向的一些指导会有所帮助.我在下面列出了我的代码并注释了我的问题区域,我想我正在调用错误的方法.
package com.jbsoft.SimpleFlashlight;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.Button;
import android.widget.Toast;
public class SimpleFlashLightActivity extends Activity {
Button GreenButton; // Declare instances of buttons to use later
Button BlueButton;
private static final int OK_MENU_ITEM = Menu.FIRST;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
BlueButton = (Button) findViewById(R.id.bluebutton);
BlueButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Display msg when user clicks Blue Button
showColorChangeMsg();
// …Run Code Online (Sandbox Code Playgroud) android event-handling menuitem options-menu onitemclicklistener
我有一个操作栏,将所有内容放在右上角的菜单中,用户点击该菜单并打开菜单选项.
我在使用它的每个活动上用操作栏菜单膨胀:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main2, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
我的main2.xml的xml是:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_searchHome"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Seach"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我的问题是我在xml中的项目中放了一个onclick,如果是这样,我在哪里放置它调用的onclick方法?我是否需要将其添加到我启动此操作栏的每个活动中?
当我从一个意图转到另一个意图时,我收到了这个警告:
"窗口已经集中,无视焦点增益:com.android.internal.view.IInputMethodClient $ Stub $ Proxy"
并且视图保留旧的意图.
代码是:
btnCatalog.setOnClickListener(new OnClickListener() {
private ProgressDialog myProgressDialog;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myProgressDialog = ProgressDialog.show(introPage.this,
"Please wait...", "Doing Extreme Calculations...", true);
new Thread() {
public void run() {
try{
fetchAndStoreData();
Intent toMainPage = new Intent(introPage.this, mainPage.class);
startActivity(toMainPage);
sleep(5000);
} catch (Exception e) { }
myProgressDialog.dismiss();
}
}.start();
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我评论fetchandStoreData()方法时,意图移动到另一个意图.fetchAndStoreData()方法正在读取文件中的XML读取数据,并将数据保存到SQLLite数据库中.
到目前为止,我不知道为什么会出现这种警告.
急需帮助
谢谢