这是我的代码:
package androboy.unsurkimia;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
public class Main5Activity extends Activity {
LinearLayout vert;
String data;
ScrollView sv;
FileInputStream fis = null;
BufferedReader freader = null;
TextView tv;
ImageView iv;
Integer gambar;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main5);
sv = new ScrollView(this);
sv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
vert = new LinearLayout(this);
vert.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
vert.setOrientation(LinearLayout.VERTICAL);
sv.addView(vert);
intent = new Intent();
tv = new TextView(this);
iv = new ImageView(this);
data = getIntent().getExtras().getString("data");
try
{
fis = openFileInput("kimia.txt");
freader = new BufferedReader(new InputStreamReader(fis));
String baris = "";
while((baris =freader.readLine()) != null)
{
String u[]=baris.split("#");
if(u[0].equalsIgnoreCase(data))
{
tv.setText(" Simbol : "+u[0]+"\n Nama Unsur : "+u[1]+"\n Kegunaan : "+u[2]+"\n Jenis : "+u[3]+"\n Bahaya : "+u[4]+"\n Gambar bok : "+u[5]);
gambar = Integer.parseInt(u[5]);
iv.setImageResource(gambar);
}
}
fis.close();
}catch (Exception e) {
// TODO: handle exception
}
vert.addView(tv);
vert.addView(iv);
this.setContentView(sv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main5, menu);
return true;
}
}
这是kimia.txt文件:
H#Hidrogen#Sebagai bahan hidrogenasi#non logam#Penyalahgunaan bom hidrogen dan meledaknya gas hidrogen yang dikarenakan sifat hidrogen mudah terbakar dan meledak#R.drawable.h1
Li#Litium#Litium digunakan sebagai bahan campuran logam, sintesis senyawa organik dan aplikasi nuklir, bahan anoda pada baterai#Logam Alkali#Lithium menyebabkan luka bakar yang serius, terutama ketika kontak dengan kulit lembab#R.drawable.h2
Na#Natrium#Logam ini dapat di gunakan untuk memperbaiki struktur beberapa campuran logam, dan untuk memurnikan logam cair#Logam Alkali#Konsumsi sejumlah besar natrium dapat menyebabkan tekanan darah tinggi#R.drawable.h3
K#Kalium#Digunakan untuk pupuk#Logam Alkali#Radiasi dari kalium tidak terlalu berbahaya#R.drawable.h4
Rb#Rubidium#Digunakan untuk batery super tipis, sebagai bahan bakar mesin ion untuk pesawat antariksa#Logam Alkali#Apabila bereaksi dengan air dapat menyebabkan kebakaran#R.drawable.h5
Cs#Sesium#Sebagai katalis di hydrogenasi senyawa-senyawa tertentu#Logam Alkali#Unsur ini sedikit beracun karena merupakan bahan berbahaya sebagai logam dan radioisotop yang menyajikan risiko kesehatan yang tinggi dalam kasus kebocoran radiasi#R.drawable.h6
Fr#Fransium#Digunakan untuk menentukan kadar Aktinum, digunakan untuk mempelajari organ tubuh tikus#R.drawable.h7
Be#Berilium#Berilium juga digunakan sebagai alloying agent dalam produksi tembaga berilium, yang banyak digunakan untuk per, kontak listrik, elektroda las dan alat-alat lainnya yang didesain untuk tidak memancarkan percikan api#Logam Alkali Tanah#Berilium dan garam-garamnya sangat beracun dan harus ditangani secara sangat hati-hati. R.drawable.h8
Mg#Magnesium#Sebagai bahan konstruksi pesawat dan missile, Magnesite digunakan untuk refractory, sebagai batu bata dan lapisan di tungku-tungku pemanas#Logam Alkali Tanah#Kebakaran dapat dengan mudah terjadi, sehingga magnesium harus ditangani secara hati-hati. Terutama jika logam ini dalam keadaan terbelah-belah secara halus#R.drawable.h9
Ca#Calsium#Digunakan sebagai agen pencampur logam aluminium, berilium, tembaga, timbal, dan campuran logam magnesium#Logam Alkali Tanah#Konsumsi kalsium secara berlebihan dapat memicu kanker prostat#R.drawable.h10
Sr#Stronsium#Digunakan untuk bahan dasar produksi gelas kaca dan tabung tv berwarna#Logam Alkali#Dalam bentuk murni strontium sangat reaktif dengan combusts udara dan spontan, karena itu dianggap bahaya kebakaran#R.drawable.h11
Ba#Barium#Digunakan sebagai agen pemberat dalam fluida pengebor sumur minyak dan digunakan dalam pembuatan karet#Logam Alkali Tanah#Apabila dikonsumsi manusia dapat meningkatkan tekanan darah#R.drawable.h12
Ra#Radium#Digunakan dalam memproduksi cat yang menyala dengan sendirinya, digunakan untuk terapi kanker#Logam Alkali Tanah#Radium, jika tertelan, terhirup ataupun terekspos pada tubuh menjadi sangat berbahaya dan dapat menyebabkan kanker#R.drawable.h13
我已将我的图像放在/ res / drawablehdpi上,其中包含来自kimia.txt(h1,h2等)的相同ID。现在我的问题是如何在运行我的应用程序时显示来自drawable的图像。
答案 0 :(得分:0)
可绘制文件夹中的每个图像都可以通过其名称本身访问。不需要id。 您可以将图像设置为
R.drawable.imagename
无需身份证件。
答案 1 :(得分:0)
这应该有效:
int resID = getResources().getIdentifier("androboy.unsurkimia:drawable/h1", null, null);
iv.setImageResource(resID);