在我的应用程序中,设备软键盘覆盖了EditTextViews,因此用户无法看到他正在键入的内容.
所以我想隐藏其他视图(就像我的情况下的一个按钮),以使EditTextViews可见.
而是做了类似的事情
EditText.onFocus(){
//hide button
}
Run Code Online (Sandbox Code Playgroud)
对于每个EditText,我想做类似的事情
if(soft-keyboard.isOpenned())
//hide button
}
Run Code Online (Sandbox Code Playgroud)
如何打开或关闭软键盘?
编辑:
其实我的布局是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:focusable="true"
android:focusableInTouchMode="true" >
</LinearLayout>
<ImageView
android:id="@+id/Logo"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@drawable/wic_logo_small" />
<Button
android:id="@+id/goButton_iWant"
android:layout_width="35dp"
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:background="@color/black"
android:gravity="center_vertical|center_horizontal"
android:text="@string/go" />
<AutoCompleteTextView
android:id="@+id/searchAutoCompleteTextView_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/goButton_iWant"
android:layout_toRightOf="@id/Logo"
android:hint="@string/search"
android:textColor="@color/white" />
<TextView
android:id="@+id/iWantLabel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/iWantPageLogo"
android:background="@color/grey"
android:gravity="center_vertical|center_horizontal"
android:text="@string/iWant"
android:textColor="@color/white" />
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollViewiWant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iWantLabel"
android:scrollbars="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/iNeedToBuy" …Run Code Online (Sandbox Code Playgroud) 我可以在Facebook配置设置中拥有多个包名称,以便在我的应用程序中使用Facebook API.

我必须能够将相同的Facebook应用程序用于不同的Android应用程序吗?
我正在使用ActionBarSherlock:
有3个菜单项,其中只有1个具有ActionLayout.
default_menu.xml
<item
android:id="@+id/searchIcon"
android:icon="@drawable/search_icon"
android:actionLayout="@layout/search_icon_actionview"
android:showAsAction="always|collapseActionView"
android:title="Search"/>
<item
android:id="@+id/newIcon"
android:icon="@drawable/new_icon"
android:orderInCategory="0"
android:showAsAction="ifRoom|collapseActionView"
android:title="New"/>
<item
android:id="@+id/notificationIcon"
android:icon="@drawable/notification_icon"
android:orderInCategory="0"
android:showAsAction="ifRoom|collapseActionView"
android:title="Notifications"/>
Run Code Online (Sandbox Code Playgroud)
如果我使用上面的代码.只有前2个图标可见.如果我将"第二"和"第三"视为" 始终",则即使在单击" 搜索"时打开了actionLayout,它们也会保留.
我想最初显示所有3个菜单项,当点击search_icon时隐藏每个项目.
我对我的实施也有疑问,不管我是以正确的方式做事.
在Activity的(有一个viewPager)第一个片段:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.searchIcon:
mEtSearchbar.clearFocus();
(new Handler()).postDelayed(new Runnable() {
public void run() {
mEtSearchbar.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
mEtSearchbar.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0));
}
}, 100);
return true;
case R.id.newIcon:
return true;
case R.id.notificationIcon:
return true;
default:
return super.onOptionsItemSelected(item); …Run Code Online (Sandbox Code Playgroud) 服务器端会话存储在数据库中并使用cookie进行维护.因此,每个客户端都必须提供与数据库中的会话匹配的有效cookie.
在Android端:
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = client.execute(httppost);
Run Code Online (Sandbox Code Playgroud)
如果我使用相同的客户端进行所有服务器调用,则客户端会处理这些cookie.
但问题是,当客户端被破坏时,由于设备需要内存,cookie将丢失,任何后续服务器调用都不起作用.
有没有办法让HttpClient持久性?或者在android端维护cookie的常用方法是什么.
有许多类似的问题,但没有人帮助我:
我的清单文件是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.cameraapi"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".CameraAPIActivity"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的Activity类是:
public class CameraAPIActivity extends Activity {
private Camera myCamera = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (checkCameraHardware(this)) {
try {
myCamera = Camera.open();
} catch (Exception e) …Run Code Online (Sandbox Code Playgroud) 我正在使用标题名称,搜索和操作溢出菜单项的操作栏,尽管我正在使用ActionBarSherlock库.我想在操作栏中删除搜索和操作溢出菜单项的填充.
这是我在Service类中的showNotification方法:
private void showNotification() {
Notification notification = new Notification(R.drawable.icon,
"New Notification", System.currentTimeMillis());
Intent i = new Intent(this, myActivity.class);
i.putExtra("notification", "MyNotif");
i.putExtra("notifiedby", "NotedBy");
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, 0);
notification.setLatestEventInfo(this, "NotedBy", "MyNotif", contentIntent);
nm.notify(111, notification);
}
Run Code Online (Sandbox Code Playgroud)
所以点击后通知从状态栏,我将结束myActivity.
问题是这些行总是在myActivity中给出错误.
this.getIntent().hasExtra("notification")
this.getIntent().hasExtra("notifiedby")
Run Code Online (Sandbox Code Playgroud)
putExtra()不能与PendingIntent一起工作吗?
我正在运行服务以在我的应用程序中每1小时获取一次通知.
服务肯定每1小时运行一次; 我使用Logcat检查了它.
但是由于我在onResume()MainActivity中启动此服务,我想检查服务是否已经运行,并且只有在它没有运行时启动它.
我用过这段代码:
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.android.MyApp.MyServices.NotificationsService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
但我总是假的.
所以我查看了输出结果service.service.getClassName().我的服务不在列表中.
是因为我的申请未知吗?或者是其他东西?
当我设置这些属性时:
actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle("Title");
actionBar.setLogo(null);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Run Code Online (Sandbox Code Playgroud)
该动作条是低于它的标签.
但如果我评论这样:
actionBar.setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但我希望它是假的原因是,避免显示appIcon.
谢谢
我在每个活动中都使用这个:
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance().activityStop(this);
}
Run Code Online (Sandbox Code Playgroud)
并通过这个文档
我发现:
使用EasyTracker
要使用EasyTracker
自动跟踪应用程序中所有未捕获的异常,请将此行添加到您的analytics.xml文件中:
<bool name="ga_reportUncaughtExceptions">true</bool>
Run Code Online (Sandbox Code Playgroud)
使用自动异常跟踪跟踪异常后,EasyTracker会将异常传递给Thread的默认异常处理程序.
使用自动异常跟踪时,请注意以下事项:
但是当我收到UncaughtException并且应用程序崩溃时,在Google Analytics描述中,它只显示:
An error occured while executing doInBackground()
Run Code Online (Sandbox Code Playgroud)
不是上面提到的堆栈跟踪.什么东西需要添加?
谢谢
android ×9
service ×2
actionview ×1
cookies ×1
easytracker ×1
facebook ×1
http ×1
menuitem ×1
php ×1
session ×1