我有一个扩展Thread的类,需要在同一个类上扩展JFrame.由于Java中不可能进行多重继承,如何在已经扩展Thread的类中使用JFrame对象?
我发现了一些没有意义的示例代码,this.getActivity()方法用于下面显示的代码中.在CursorLoader()方法的参数中,第一个参数是context,而this.getActivity()在这里需要使用context.当它显然是一个错误时,为什么在这个例子中使用它.
android文档声明,对于示例中的片段对象,getActivity()应该返回一个活动对象,而不是一个上下文对象.因为第一个参数是一个上下文,如果不这样做,如何使用getActivity()返回一个上下文?
来自android文档
getActivity()
返回类型:最终活动
返回此片段当前与之关联的Activity.
http://developer.android.com/reference/android/app/Fragment.html
示例代码
public class YourFragment extends Fragment
implements LoaderCallbacks<Cursor> {
// more code......
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
CursorLoader loader = new CursorLoader(
this.getActivity(), // <--- context is needed here
SOME_CONTENT_URI,
projection,
selection,
selectionArgs,
sortOrder);
return loader;
}
Run Code Online (Sandbox Code Playgroud) 这是在使用Integer.toString()之前将int转换为字符串的正确方法吗?还有其他方法可以在不需要转换的情况下执行此操作吗?
例:
int value = 10;
Cursor cursor = database.query(
"TABLE_X",
new String[] { "COLUMN_A", "COLUMN_B" },
"COLUMN_C = ?",
new String[] { Integer.toString(value) },
null,
null,
null);
Run Code Online (Sandbox Code Playgroud) 如何将我所在类的实例传递给另一个类?我想做的是不工作,必须有更好的方法.
public class MainExample{
// constructor
public MainExample(){
}
public static void main(String[] args) {
MainExample mainCl = // how to get instance of this class?
NextClass nextCl = new NextClass(mainCl); // not working, what to pass?
}
}
public class NextClass {
MainExample mainEx;
// constructor
public NextClass(MainExample me){
mainEx = me;
}
}
Run Code Online (Sandbox Code Playgroud)
<<<编辑>>>
这样做的原因是我必须将MainExample类的当前实例传递给NextClass,以便我可以将观察者附加到observable.使用观察者模式.NextClass将为每个套接字连接启动多个线程,一个线程.多个客户.所以我必须要;
observable <-- (class instance of class that extends observable class)
obsever <-- (class instance of class implementing observer)
using the addObserver method;
observable.addObserver(observer)
Run Code Online (Sandbox Code Playgroud) 我注意到 Android 设备的屏幕顶部会出现 2 种不同类型的通知。一个是“进行中”,另一个是“通知”。我想将我的通知更改为正在进行的类型。一些研究表明,我必须将标志设置为:Notification.FLAG_ONGOING_EVENT。我将如何在以下代码中执行此操作,还有什么我需要做才能将其更改为“正在进行”类型?
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(AudioService.this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("My notification")
.setContentText("Hello World!");
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(AudioService.this, MainActivity.class);
// The stack builder object will contain an artificial back stack for the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(AudioService.this);
// Adds the back stack for the Intent (but …Run Code Online (Sandbox Code Playgroud) 我有以下功能,我试图获取一列中的所有整数并总结它们.不知道该怎么做.
下面的代码不起作用,因为对于测试我在表中放了两行,KEY_HITS列的数字是5和6,总数应该是11但是我得到4作为结果
public int getTotal() {
String[] columns = new String[] { KEY_ROWID, KEY_NAME, KEY_HITS };
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null,
null, null);
int total = 0;
int iHits = c.getColumnIndex(KEY_HITS);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
total = total + iHits;
}
return total;
}
Run Code Online (Sandbox Code Playgroud)