Итак, вот что. Я хотел немного поэкспериментировать. Итак, я написал эту программу, которая ищет изображения с расширением (.jpg) в моей папке mnt/shared/Newpictures в моем эмуляторе GennyMotion. В моей программе я записал имя файлов с расширением .jpg в адаптере массива String и путь к файлу в массиве строк пути к файлу. Теперь, вот часть, где я пуст, у меня есть путь, имя, и я могу получить позицию, нажав на список. Но как мне открыть изображение, когда я нажимаю на список. Я исследовал онлайн, и большинство кодов были слишком запутанными. Таким образом, может быть, кто-то может предложить мне более легкий подход. Это то, что я пробовал до сих пор. Благодарю.Как открыть изображение, нажав на список в андроиде?
package com.example.user.imageapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.io.File;
import java.util.ArrayList;
/**
* Created by user on 06-08-2015.
*/
public class Splash extends Activity {
Button load;
String s;
private ListView mainList;
private String[] FilePathStrings;
ArrayList<String>filesinFolder = GetFiles("/mnt/shared/NewPictures");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
// load = (Button)findViewById(R.id.Load);
mainList = (ListView) findViewById(R.id.imagelist);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,filesinFolder);
mainList.setAdapter(adapter);
mainList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//what do i put here
}
});
}
public ArrayList<String> GetFiles(String DirectoryPath)
{
ArrayList<String> MyFiles = new ArrayList<String>();
File f = new File(DirectoryPath);
f.mkdirs();
File[] files = f.listFiles();
FilePathStrings = new String[files.length];
for (int i = 0; i < files.length; i++) {
// Get the path of the image file
if(files[i].getName().contains(".jpg")) {
FilePathStrings[i] = files[i].getAbsolutePath();
// Get the name image file
MyFiles.add(files[i].getName());
}
}
return MyFiles;
}
}