我的应用经常抛出异常,如下所示:
E/WindowManager(6282):android.view.WindowLeaked:活动com.myActivity泄露了最初添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4479b710
当主要活动开始并启动任务时,应用程序会显示进度对话框.任务完成后,它将关闭进度对话框.
我的代码如下.有人能帮我吗?
public class MyActivity extends Activity {
private static int ID_DIALOG_PROGRESS = 2001;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
showDialog(ID_DIALOG_PROGRESS);
new MyTask().execute(null, null, null);
}
@Override
protected Dialog onCreateDialog(int id) {
if (id == ID_DIALOG_PROGRESS) {
ProgressDialog loadingDialog = new ProgressDialog(this);
loadingDialog.setTitle("");
loadingDialog.setMessage("");
loadingDialog.setIndeterminate(true);
loadingDialog.setCancelable(false);
return loadingDialog;
}
return super.onCreateDialog(id);
}
private class MyTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... arg0) {
/* Do something expensive here...*/
/* Start other activity*/
Intent intent …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的EditText
内部的Activity
,我想创建一个Bitmap
从形象EditText
和content of the EditText
.本Image
应该是相同EditText
和content
.
Here is how I want the Image should look like
虽然这是一个EditText,但我想要一个看起来应该与此相同的Bitmap.那么,我怎样才能做到这一点?任何想法都会很棒.
这是我的代码,
public class EditTextPinchZoomActivity extends Activity {
EditText editText;
ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageView = (ImageView) findViewById(R.id.image_view);
editText = (EditText) findViewById(R.id.edit_text);
editText.buildDrawingCache();
}
public void myOnClick(View view) {
switch (view.getId()) {
case R.id.btn:
imageView.setImageBitmap(editText.getDrawingCache());
break;
default:
break;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个包含一个片段的三个选项卡,现在我想用同一个选项卡中的新片段替换第一个Tab的片段.如何保持标签保持不变?
我的代码 -
Tab_Widget.java
public class Tab_Widget extends TabActivity {
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_host);
tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("Tab1")
.setIndicator("Tab1")
.setContent(new Intent().setClass(this, main_activity.class)));
tabHost.addTab(tabHost.newTabSpec("Tab2")
.setIndicator("Tab2")
.setContent(new Intent().setClass(this, second_activity.class)));
tabHost.addTab(tabHost.newTabSpec("Tab3")
.setIndicator("Tab3")
.setContent(new Intent().setClass(this, third_activity.class)));
tabHost.setCurrentTab(0);
}
}
Run Code Online (Sandbox Code Playgroud)
main_activity.java
public class main_activity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainfragment);
}
}
Run Code Online (Sandbox Code Playgroud)
main_fragment.java
public class main_fragment extends Fragment
{
LinearLayout mLayout;
Button mButton;
@Override
public …
Run Code Online (Sandbox Code Playgroud) 我正在使用一种方法来combine two Bitmap Images
写入SDCard
.该应用程序.在模拟器中工作得很好,但是当我尝试在Real Device上执行时,它会Null Pointer Exception
通过这一行cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
来创建一个new Bitmap
我将在其上绘制要使用的组合图像Canvas
.
现在,这里combineImages(Bitmap background, Bitmap foreground)
的第一个参数是Bitmap from Camera
Picture和second is the forefround Gallery item
.从相机拍摄的位图是一个static Bitmap
,我想这是唯一让我遇到麻烦的事情.所以,可能有人给我一个很好的解决方案,以节省从拍摄的照片Camera
作为temporary
,使我没有任何进一步使用它的任何问题的存储.
public void combineImages(Bitmap background, Bitmap foreground) {
Bitmap cs = null;
int width = 0, height = 0;
width = background.getWidth();
height = background.getHeight();
cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas comboImage = …
Run Code Online (Sandbox Code Playgroud) 我正在使用CursorAdapter
,下面是我的适配器类.我的列表包含两个文本视图和每行一个按钮.现在,单击按钮我想从列表中删除所选项目以及从数据库中删除.如何从数据库中获取所选项的ID,以便我可以删除它然后通知适配器(刷新列表).
public class MyAdapter extends CursorAdapter {
Cursor c;
LayoutInflater inflater;
Context context;
private String TAG = getClass().getSimpleName();
public MyAdapter(Context context, Cursor c) {
super(context, c);
this.c = c;
this.context = context;
inflater = LayoutInflater.from(context);
}
@Override
public void bindView(View view, Context context, final Cursor cursor) {
TextView txtName = (TextView) view.findViewById(R.id.txt_name);
txtName.setText(cursor.getString(cursor.getColumnIndex(Helper.tbl_col_username)));
TextView txtPassword = (TextView) view.findViewById(R.id.txt_password);
txtPassword.setText(cursor.getString(cursor.getColumnIndex(Helper.tbl_col_password)));
Button button = (Button) view.findViewById(R.id.btn_delete);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Log.d(TAG, "Button Click ");
}
}); …
Run Code Online (Sandbox Code Playgroud) 我有两个设备,其中一个支持adb over usb,另一个支持adb over ethernet(tcp),因为它没有wifi我需要使用以太网连接它进行互联网访问.每当我需要在两个设备之间切换时,我需要重新启动PC以成功连接adb,这非常令人恼火.我试图在usb和tcp之间切换但是失败了,所以我目前的解决方案是每次重启PC.所以,在这里,我正在寻找一个更好的解决方案,这将节省我重新启动我的PC在usb到tcp或反之亦然模式之间切换.
现在,我在usb到tcp之间面临的问题如下所示
C:\Users\plalit>adb tcpip 5555
restarting in TCP mode port: 5555
C:\Users\plalit>adb connect 192.168.1.137
not implement
C:\Users\plalit>adb connect 192.168.1.137
not implement
Run Code Online (Sandbox Code Playgroud)
另外,我尝试添加端口号
C:\Users\plalit>adb connect 192.168.1.137:5555
not implement
Run Code Online (Sandbox Code Playgroud)
你可以看到它说"不实现",如果我试图杀死adb并重新启动它,它会给我一条消息,如下所示
C:\Users\plalit>adb kill-server
* server not running *
Run Code Online (Sandbox Code Playgroud)
所以,我能够通过usb(一个设备)连接设备,但无法通过tcp连接另一个设备,因为我需要重启我的电脑.
我尝试过的方式,
有没有人有这方面的解决方案或任何人遇到这种问题/问题,无论如何解决它.
我正在使用FTS查询我的数据库以提高搜索速度,因为我还需要在文本描述中搜索,
当我尝试使用单列进行查询时,其工作正常如下
select * from productsearch where productsearch match ('prod_name:panasonic*tw*')
Run Code Online (Sandbox Code Playgroud)
并且,
select * from productsearch where productsearch match ('prod_short_desc:samsung*s5*')
Run Code Online (Sandbox Code Playgroud)
所以,在两个查询之上给出了我预期的结果,但是当我尝试使用OR
运算符组合两个查询时它没有给我任何结果
select * from productsearch where productsearch match ('prod_name:panasonic*tw* OR
prod_short_desc:samsung*s5*')
Run Code Online (Sandbox Code Playgroud)
所以,我想在使用OR
运算符搜索多个列时知道我在这里做错了什么
UPDATE
以下查询工作正常,但不符合我的要求,
select * from productsearch where productsearch match ('prod_name:panasonic* OR
prod_short_desc:samsung*')
Run Code Online (Sandbox Code Playgroud)
您可以看到,如果我删除多个令牌,那么它也可以与OR
运算符一起正常工作.
我正在使用Firebase创建一个小型聊天应用程序.ChildEventListener
虽然我的应用程序处于后台或已退出,但我想继续监听firebase数据库位置.目前我正在注册它,当我的应用程序退出或关闭时finish()
,之后我的所有ChildEventListener方法都没有调用,onChildAdded
或者onChildChanged
虽然我没有调用removeEventListener
.我希望ChildEventListener始终在后台运行.无论如何这样做?
我有一个简单的AutoStart
应用程序TimerTask
实现,几乎在许多设备中工作正常.问题是它没有工作Samsung Galaxy Y(2.3.6)
和DELL XCD35(2.2)
.当设备启动TimerTask
工作几秒钟然后关闭.我查了一下Application->Manage Application
,我看到Applcation已经在Force Stop
州.这意味着我的应用程序在几秒钟后停止运行.那么,weird behaviour
这两个设备的原因是什么,如果有人有解决方案分享它.
以下是我的代码.
MyReceiver.java
public class MyReceiver extends BroadcastReceiver{
private Timer mTimer = new Timer();
@Override
public void onReceive(Context context, Intent arg1) {
Toast.makeText(context, "Device Booted", Toast.LENGTH_LONG).show();
Log.d("TAG","Device Booted");
mTimer.scheduleAtFixedRate(new MyTimerTask(), 2000,2000);
}
private class MyTimerTask extends TimerTask
{
@Override
public void run() {
Log.d("TAG","TimerTask executed....");
}
}
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.autostart.app"
android:versionCode="1"
android:versionName="1.0" > …
Run Code Online (Sandbox Code Playgroud) 我要让那些需要转换的应用程序ArrayList<String>[]
来ArrayList<Integer>[]
,我也用这样的:
ArrayList<String>[] strArrayList;
int ArrayRes = (int) strArrayList[];
Run Code Online (Sandbox Code Playgroud)
但这段代码给我一个错误,任何人都可以帮助我?
任何建议都会受到赞赏