Java 我在一个活动中有两个LoaderManager(LM),我';I’我想在第二个LM的onCreateLoader()中使用第一个LM的onLoadfinished()中的数据
如果我的代码看起来不够好,并且由于我不熟悉android编程而无法实现,我深表歉意: 我的第一个LoaderManager和我要使用的数据是onLoadFinished()方法中的mCryptoString和mFiatString:Java 我在一个活动中有两个LoaderManager(LM),我';I’我想在第二个LM的onCreateLoader()中使用第一个LM的onLoadfinished()中的数据,java,android,Java,Android,如果我的代码看起来不够好,并且由于我不熟悉android编程而无法实现,我深表歉意: 我的第一个LoaderManager和我要使用的数据是onLoadFinished()方法中的mCryptoString和mFiatString: private LoaderManager.LoaderCallbacks游标装载器 =新建LoaderManager.LoaderCallbacks(){ @凌驾 公共加载器onCreateLoader(int-id,Bundle-args){ ... } @凌驾
private LoaderManager.LoaderCallbacks游标装载器
=新建LoaderManager.LoaderCallbacks(){
@凌驾
公共加载器onCreateLoader(int-id,Bundle-args){
...
}
@凌驾
public void onLoadFinished(加载器、光标数据){
if(data==null | | data.getCount()<1){
返回;
}
if(data.moveToFirst()){
int fiatColumnIndex=data.getColumnIndexOrThrow(CurrencyEntry.COLUMN\u FIATCURRENCY\u NAME);
int cryptoColumnIndex=data.getColumnIndexOrThrow(CurrencyEntry.COLUMN\u CRYPTOCURRENCY\u NAME);
字符串fiatValue=data.getString(fiatColumnIndex);
String cryptoValue=data.getString(cryptoColumnIndex);
mCryptoString=fiatValue;
mFiatString=加密值;
mFiatTextView.setText(fiatValue);
mCryptoTextView.setText(cryptoValue);
}
}
@凌驾
公共void onLoaderReset(加载器){
...
}
};
我要在onCreateLoader()方法中使用mCryptoString和mFiatString的第二个LoaderManager:
private LoaderManager.LoaderCallbacks myJsonResponseLoader
=新建LoaderManager.LoaderCallbacks(){
@凌驾
公共加载器onCreateLoader(int-id,Bundle-args){
字符串转换\u URL=”https://min-api.cryptocompare.com/data/price?fsym=“+mCryptoString+”&tsyms=“+mFiatString;
e(Log_标记,“json中的两个值:”+mCryptoString+mFiatString);
返回新的ConversionLoader(ConversionActivity.this,CONVERSION\uURL);
}
@凌驾
public void onLoadFinished(加载器,字符串数据){
....
}
@凌驾
公共void onLoaderReset(加载器){
...
}
};
我不知道如何才能做到这一点,任何帮助都将不胜感激
private LoaderManager.LoaderCallbacks<Cursor> cursorLoader
= new LoaderManager.LoaderCallbacks<Cursor>() {
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
...
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
if (data == null || data.getCount() < 1) {
return;
}
if (data.moveToFirst()) {
int fiatColumnIndex = data.getColumnIndexOrThrow(CurrencyEntry.COLUMN_FIATCURRENCY_NAME);
int cryptoColumnIndex = data.getColumnIndexOrThrow(CurrencyEntry.COLUMN_CRYPTOCURRENCY_NAME);
String fiatValue = data.getString(fiatColumnIndex);
String cryptoValue = data.getString(cryptoColumnIndex);
mCryptoString = fiatValue;
mFiatString = cryptoValue;
mFiatTextView.setText(fiatValue);
mCryptoTextView.setText(cryptoValue);
}
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
...
}
};
private LoaderManager.LoaderCallbacks<String> myJsonResponseLoader
= new LoaderManager.LoaderCallbacks<String>() {
@Override
public Loader<String> onCreateLoader(int id, Bundle args) {
String CONVERSION_URL = "https://min-api.cryptocompare.com/data/price?fsym=" + mCryptoString + "&tsyms=" + mFiatString;
Log.e(LOG_TAG, "two values in json: " + mCryptoString + mFiatString);
return new ConversionLoader(ConversionActivity.this, CONVERSION_URL);
}
@Override
public void onLoadFinished(Loader<String> loader, String data) {
....
}
@Override
public void onLoaderReset(Loader<String> loader) {
...
}
};