打開多個文本文件,我剛開始進入這個Android開發的東西,通過我自己的,基本閱讀各種書籍和搜索互聯網和我需要的信息的論壇,但似乎我停了下來。我正在嘗試製作一個應用程序,通過它將提示用戶在GridView中顯示圖像列表。點擊圖像後,應用程序將向用戶發送一個活動,該活動將顯示一個有時很短,有時很長的故事,該故事是從位於資產文件夾內的.txt文件讀取的。我可以輕鬆地做到這一點,即。爲每個需要打開的.txt製作一個活動,但是我在gridview中查看了50多個圖像文件,在assets文件夾中查看了50多個.txt文件。所以我想只從2個活動,主要和+1,或儘可能少做這個。下面是我到目前爲止的代碼。安卓:從gridview的
MainActivity.java
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById (R.id.gridv);
gridview.setAdapter(new ImageAdapter (this));
gridview.setOnItemClickListener (new AdapterView.OnItemClickListener() {
public void onItemClick (AdapterView<?> parent, View v, int position, long id) {
Intent i = new Intent (getApplicationContext(), ChronText.class);
i.putExtra("id", position);
startActivity (i);
}
});
}
}
ChronText.java
public class ChronText extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.flowtext);
Intent i = getIntent();
int position = i.getExtras().getInt("id");
TextView chronview = (TextView) findViewById (R.id.chronview);
AssetManager assetManager = getAssets();
InputStream input;
try {
input = assetManager.open("");
int size = input.available();
byte[] buffer = new byte[size];
input.read(buffer);
input.close();
String text = new String (buffer);
chronview.setText(text);
} catch (IOException e) {
e.printStackTrace();
}
}
}
ImageAdapter.java
public class ImageAdapter extends BaseAdapter {
private Context myContext;
public Integer[] myThumbsId = {
R.drawable.breathingspace,
R.drawable.particletracks,
R.drawable.welcomeparty,
R.drawable.thebookofemptiness2of2,
R.drawable.uplifted
};
public ImageAdapter (Context c) {
myContext = c;
}
public int getCount() {
return myThumbsId.length;
}
public Object getItem (int position) {
return myThumbsId [position];
}
public long getItemId (int position) {
return 0;
}
public View getView (int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView (myContext);
imageView.setLayoutParams(new GridView.LayoutParams(170,111));
imageView.setImageResource(myThumbsId[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(5, 5, 5, 5);
return imageView;
}
}
的應用程序的工作,但是,我有ChronText.java
InputStream input;
try {
input = assetManager.open("");
手動輸入文件名所以基本上,我需要手工編寫的文件名被點擊每幅圖像。有沒有辦法自動完成這件事?如果是,如何?我在想的方法是創建一個包含所有文件名的列表,如gridview所包含的,其中包含gridview圖像相應順序的文件,當用戶單擊圖像時,將爲具有文件名列表中與gridview列表中圖像相同的位置。如果有另一種更簡單的方法,請告訴/解釋。如果我的想法很好,請告訴我如何把它放在紙上。我在這個應用程序工作了幾個星期,現在我有點被燒燬了。提前致謝。