我的应用中有一个带有3个项目的操作栏.
由于空间问题,只能显示2个,所以我希望第一个显示,其余的显示在溢出中.但实际上只显示前两项,并且没有可检测到的溢出.
以下是相关代码:list_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/menu_insert"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_call"
android:icon="@android:drawable/ic_menu_call"
android:title="@string/menu_call"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_agenda"
android:icon="@android:drawable/ic_menu_agenda"
android:title="@string/menu_agenda"
android:showAsAction="ifRoom|withText"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
Activity.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个带有我自己制作的图标的选项菜单(24px x 24px),但它没有显示.
我的xml中的代码(位于res /菜单中)如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@drawable/menu_add"
android:title="@string/menu_insert" />
</menu>
Run Code Online (Sandbox Code Playgroud)
菜单在我的Activity.java文件中创建,如文档中所述:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
PS项目的标题一直位于左侧,我似乎无法找到文档中的任何位置如何居中(显然是android:重力不在那里完成)
谢谢
我正在尝试从我创建的数据库中读取数据,但在尝试获取所有记录时,我总是得到NullPointerException.
我几乎从我运行完美的另一个应用程序中复制了代码,但不知怎的,我在这里做错了.
NullPointerException位于
return mDb.query(DATABASE_TABLE_LOCALLOGIN, new String[] {LOCALLOGIN_ID, LOCALLOGIN_LOGIN, LOCALLOGIN_PASSWORD}, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
这是相关的代码(不介意字符串数组,它稍后用于添加表:GoingOutDbAdapter.java
public class GoingOutDbAdapter {
private static final String DATABASE_NAME = "GoingOutData";
private static final String DATABASE_TABLE_LOCALLOGIN = "LocalLogin";
public static final String LOCALLOGIN_ID = "LocalLogin_id";
public static final String LOCALLOGIN_LOGIN = "Login";
public static final String LOCALLOGIN_PASSWORD = "Password";
private static final String TAG = "Debugstring";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private static final String[] DATABASE_CREATE = {
"CREATE Table " + DATABASE_TABLE_LOCALLOGIN …Run Code Online (Sandbox Code Playgroud) 我使用了一个我在stackoverflow上找到的javascript resize函数,它适用于IE和FF.但是,在Google Chrome中,它只能调整比前一个更大的iframe.如果必须调整较小的iframe,则需要相同的高度并增加30px.
我认为它与检索scrollHeight有关,但我不知道如何修复它.
我已经尝试使用超时,因为我读到的地方可能有所帮助,但事实并非如此.
这是相关的代码:
function autoResize(id){
var newheight;
if(document.getElementById)
{
newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
newheight=newheight+30;
}
document.getElementById(id).height = (newheight) + "px";
}
<iframe src="<?php echo "$LC"; ?>/home.html" name="iframe" id="iframe" width="435px" height="10px" scrolling="no" frameborder="0" style="margin-left:-10px;padding-bottom:20px;" onLoad="setTimeout(autoResize('iframe'),250);";">
Run Code Online (Sandbox Code Playgroud)
编辑:通过将功能更改为解决它
function autoResize(id) {
document.getElementById(id).height = document.getElementById(id).contentDocument.documentElement.scrollHeight+15; //Chrome
document.getElementById(id).height = document.getElementById(id).contentWindow.document.body.scrollHeight+15; //FF, IE
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试逐帧动画显示并想要遍历drawables,因此我不必在帧数增加时键入所有名称.
但是我似乎无法找到如何遍历drawables.我已经查了一些java for循环教程,但他们都只是打印的东西(据我确定)不必在这里使用.
这是相关的代码(图像的名称是dude1,dude2,...):
private void startAnimation(){
animation = new AnimationDrawable();
for (int i = 1; i < 4; i++) {
animation.addFrame(getResources().getDrawable(R.drawable.dude(i)), 100);
}
animation.setOneShot(true);
ImageView imageView = (ImageView) findViewById(R.id.img);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(80, 90);
params.alignWithParent = true;
params.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView.setLayoutParams(params);
imageView.setImageDrawable(animation);
imageView.post(new Starter());
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个数据库已经包含一个表"LocalLogin",并且设置正确,可以毫无问题地查询,设置方式与我的新表"PersonList"相同.但是,当我尝试在PersonList上执行查询以选择某些值时,我得到错误
android.database.sqlite.SQLiteException: no such table: PersonList: , while compiling: SELECT ...
Run Code Online (Sandbox Code Playgroud)
虽然我在SQLiteOpenHelper类的onCreate方法中执行了创建查询,但它让我觉得该表从未创建过.是否具有与LocalLogin相同的数据库名称可能存在的问题?
这是相关的代码:
数据库适配器类
public class GoingOutPersonListDbAdapter {
private static final String DATABASE_NAME = "GoingOutData";
private static final String DATABASE_TABLE_PERSONLIST = "PersonList";
private static final int DATABASE_VERSION = 1;
public static final String PERSONLIST_ID = "PersonList_id";
public static final String PERSONLIST_LOGIN = "Login";
public static final String PERSONLIST_PASSWORD = "Password";
private static final String TAG = "Debugstring";
private PersonListDatabaseHelper mPersonListDbHelper;
private SQLiteDatabase mDb;
private static final String DATABASE_CREATE =
"CREATE …Run Code Online (Sandbox Code Playgroud) 我正在学习如何使用Eclipse中的for dummies(你可以用字面意思)系列书来开发android应用程序.
我现在使用linerlayout,scrollviews,...创建了一些布局,每次我在Eclipse中显示图形布局或在模拟器中运行应用程序时,在屏幕顶部显示应用程序图标,应用程序名称和蓝线它显示.我不知道他们是如何到达那里的(他们似乎没有在xml文件中的任何地方声明)以及如何摆脱它们.
我一直在寻找"删除标题"和类似的东西,但这似乎并没有让我更接近找到解决方案.
谢谢
我一直在启动mLoginButton的onClickListener的行上得到这个java.lang.NullPointerException.
我不知道出了什么问题,并试图清理和重建项目,但它不起作用.
这是相关的代码:
public class LoginActivity extends Activity {
/** Called when the activity is first created. */
private Button mLoginButton;
private Button mNewAccountButton;
@Override
public void onCreate(Bundle savedInstanceState) {
mLoginButton = (Button) findViewById(R.id.login_button);
mNewAccountButton = (Button) findViewById(R.id.newaccount_button);
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
registerButtonListenersAndSetDefaultText();
}
private void registerButtonListenersAndSetDefaultText() {
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast(getString(R.string.login_message));
finish();
}
});
mNewAccountButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast(getString(R.string.newacount_message));
finish();
}
});
}
private void showToast(String toastString) {
//do something …Run Code Online (Sandbox Code Playgroud) 我的代码中有一个CheckBox,如果选中它,用户就不能取消选中它.这就是我决定在Checkbox上实现onCheckedChangeListener的原因.
如果已选中并单击,则会询问确认,否则不会询问确认.当询问确认(通过对话框)并且用户取消时,复选框必须保持(或再次设置)检查.所以我在点击取消按钮时实现了"CheckBox.setChecked(true)",现在我的确认被问了两次.我不知道怎么摆脱这个.
这是相关的代码:
mEventAttendingCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
//do nothing
} else {
Context mContext = EventSingleViewActivity.this;
final Dialog dialog = new Dialog(mContext);
dialog.setCancelable(true);
Button confirmButton = (Button) dialog.findViewById(R.id.confirmButton);
confirmButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
//do something
}
});
Button cancelButton = (Button) dialog.findViewById(R.id.cancelButton);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
mEventAttendingCheckBox.setChecked(true);
}
});
dialog.show();
}
}
});
Run Code Online (Sandbox Code Playgroud)