-2
私は答えを探していました。 Googleドライブでアプリケーションを動作させようとしています。 私の問題は、クラスで呼び出されたアダプタでインテントを使用しているため、別のアクティビティから取得したインテント変数を渡したいと思います。アクティビティからのグローバル変数を使用するアダプタの意図
マイ内部クラス:
public class QueryFilesActivity extends BaseDemoActivity {
private ListView mResultsListView;
private ResultsAdapter mResultsAdapter;
Date date = new Date();
String stringDate = DateFormat.getDateInstance().format(date);
String ecrire;
String ville;
String container;
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_listfiles);
mResultsListView = (ListView) findViewById(R.id.listViewResults);
mResultsAdapter = new ResultsAdapter(this);
mResultsListView.setAdapter(mResultsAdapter);
Intent i = getIntent();
ecrire = i.getStringExtra("test");
ville = i.getStringExtra("ville");
container = i.getStringExtra("cont");
}
/**
* Clears the result buffer to avoid memory leaks as soon
* as the activity is no longer visible by the user.
*/
@Override
protected void onStop() {
super.onStop();
mResultsAdapter.clear();
}
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, stringDate+"_"+ville+2))
.build();
Drive.DriveApi.query(getGoogleApiClient(), query)
.setResultCallback(metadataCallback);
}
final private ResultCallback<MetadataBufferResult> metadataCallback = new
ResultCallback<MetadataBufferResult>() {
@Override
public void onResult(MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving results");
return;
}
mResultsAdapter.clear();
mResultsAdapter.append(result.getMetadataBuffer());
}
};
}
そして、私のアダプタ:
public class ResultsAdapter extends DataBufferAdapter<Metadata> {
public ResultsAdapter(Context context) {
super(context, android.R.layout.simple_list_item_1);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(getContext(),
android.R.layout.simple_list_item_1, null);
}
Metadata metadata = getItem(position);
String resultat = metadata.getAlternateLink();
String S1 = resultat.substring(32,60);
TextView titleTextView =
(TextView) convertView.findViewById(android.R.id.text1);
titleTextView.setText(S1);
Intent intent = new Intent(getContext(), EditContentsActivity.class);
intent.putExtra("file", S1);
getContext().startActivity(intent);
return convertView;
}
}
私は、アダプタの意図に私の意図で何を得る渡ししたいと思います。 提案がありますか?
nullであるということですか?どうしたの?私はあなたが既にあなたのコードの中のそれらの両方をしているのを見ます。 – nasch
ええ、あなたはすでに意図を送信し、データを取得するために必要なものを実装しているようですが、何かエラーがありますか? –
私は自分のアクティビティに入っているものを、アダプター内部の意図に入れて、EditcontentsActivityに渡したいと思います。私は少し失われてしまいましたか...それとも、直接取得できるのでしょうか?する – filoman