我有2个类,FirstActivity和SecondActivity.
第一项活动
Intent intent=new Intent(getApplicationContext(),SecondActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
SecondActivity是否可以覆盖FirstActivity?即.FirstActivity变暗,SecondActivity显示在FirstActivity之上.
如果不可能进行2项不同的活动,是否可以在同一活动中对2个视图进行叠加?我希望使用对话框不是唯一的选择.
我试图Activity从字符串创建一个类并将其传递给静态方法.我在SO上发现这个将字符串传递给一个类.FirstActivity已经创建了.
SecondActivity
String myClass = "com.package.FirstActivity";
Class<?> myClass = Class.forName(myClass);
//this works
//Intent myIntent = new Intent(getApplicationContext(), myClass);
//I want to pass to a static method, but it gives a error. Class cannot cast to Activity
StaticMethod.processThis(myClass , "test");
Run Code Online (Sandbox Code Playgroud)
STATICMETHOD
public static void processThis(Activity contextActivity, String str) {
//do processing
}
Run Code Online (Sandbox Code Playgroud)
我怎么processThis去上班?如果我理解正确,一个Activity也是一个班级?
我正在尝试从我的Android设备连接到我的远程服务器.如何检查服务器上的特定端口是否已打开?例如.如何检查我的服务器11.11.11.11上是否打开了端口80?
目前,我正在使用InetAddressping是否可以访问主机,但这并不告诉我端口80是否打开.
现行守则
boolean isAvailable = false;
try {
isAvailable = InetAddress.getByName("11.11.11.11").isReachable(2000);
if (isAvailable == true) {
//host is reachable
doSomething();
}
} catch (Exception e) {
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个静态方法来访问我的一个活动我的数据库,但我一直在打开数据库时遇到错误.
主要活动
public static String getStudentData() {
SQLiteDatabase sampleDB = null;
try {
//NOT WORKING
sampleDB = SQLiteDatabase.openDatabase("studentDB",null, SQLiteDatabase.CREATE_IF_NECESSARY);
//Also not working
//sampleDB = SQLiteDatabase.openOrCreateDatabase("studentDB", null);
Cursor c = sampleDB.rawQuery("SELECT * FROM student where id='1'", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
//...
}while (c.moveToNext());
}
}
c.close();
} catch (Exception se ) {
} finally {
sampleDB.close();
}
}
Run Code Online (Sandbox Code Playgroud)
OtherActivity
String student = MainActivity.getStudentData();
Run Code Online (Sandbox Code Playgroud)
我一直在sqlite3_open_v2("studentDB", &handle, 6, NULL) failed.不能发现什么是错的......我也尝试过使用MODE_WORLD_WRITEABLE.目前MODE_PRIVATE …
我试图更新我的UI FirstActivity当我收到通知,但被迷惑runOnUiThread,Runnable和Handler.这就是我所拥有的:我正在运行FirstActivity和NotificationService.当NotificationService收到通知时,它将更新FirstActivity UI.
我还有另一个服务AlarmService正在运行.第一项活动
@Override
public void onResume() {
super.onResume();
//some other code for alarm service
}
Run Code Online (Sandbox Code Playgroud)
NotificationService
//on receiving notification
private void showNotification(String text) {
//Get activity
Class<?> activityClass = null;
try {
activityClass = Class.forName("com.pakage.FirstActivity");
contextActivity = (Activity) activityClass.newInstance();
//Update UI on FirstActivity not working
contextActivity.runOnUiThread(new Runnable() {
public void run()
{
Looper.prepare();
TextView tv = (TextView ) contextActivity.findViewById(R.id.notifyTest);
Looper.loop();
}
});
} catch (Exception e) {
e.printStackTrace();
} …Run Code Online (Sandbox Code Playgroud) 我有一个AlertDialog,我只想在单击"确定"后启动下一个活动.问题出在我的方法中,我有局部变量附加到我的意图,我不能放入onCreateDialog方法.
//local variable created
ArrayList<String> students = new ArrayList<String>();
for(int i=0; i<studentList.size(); i++){
students.add(studentList.get(i).getName());
}
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
new ContextThemeWrapper(this, R.style.popup_theme));
alertDialog.setTitle("Select Game");
alertDialog.setPositiveButton("3x3", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//I want the new Activity to start only after user clicks ok.
Intent intent=new Intent(getApplicationContext(),NewActivity.class);
//Local variable, undefined, cannot reference
intent.putStringArrayListExtra("students", students);
startActivity(intent);
finish();
return;
}
});
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以防止代码showDialog()运行后直到用户点击OK?我有局部变量,我需要放在intent中.