Códigos.
MyActivity.java
package br.com.android;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import br.com.android.R;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import java.util.ArrayList;
import java.util.List;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.os.Environment;
import android.app.Activity;
import android.content.Context;
public class MyActivity extends Activity {
ListView myListView;
ArrayList<Itens> Acs;
public ProgressDialog dialog;
public String Ac_id;
private TextView txtNomeArq;
private TextView txtLer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.acs);
Acs = new ArrayList<Itens>();
setItList();
txtNomeArq = (TextView) findViewById(R.id.edtNomeArq);
txtLer = (TextView) findViewById(R.id.edtLer);
myListView = (ListView) findViewById(R.id.acs_list);
myListView.setFastScrollEnabled(true);
final MyIndexerAdapter<String> adapter = new MyIndexerAdapter<String>(
getApplicationContext(), R.layout.acs_row,
Acs);
myListView.setAdapter(adapter);
myListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long l) {
Itens msg = Acs.get((int)l);
AlertDialog LDialog = new AlertDialog.Builder(MyActivity.this).setTitle("Detalhes")
.setMessage(msg.getD()) .setPositiveButton("ok", null).create();
LDialog.show();
adapter.notifyDataSetChanged();
};
});
}
public void click_Ler(View v)
{
setItList();
}
public void click_Limpar(View v)
{
txtNomeArq.setText("NomedoArq.txt");
txtLer.setText("");
}
// the list adapter, where the magic happens
class MyIndexerAdapter<T> extends ArrayAdapter<Itens> {
int textViewResourceId;
public MyIndexerAdapter(Context context, int textViewResourceId,
List<Itens> objects) {
super(context, textViewResourceId, objects);
this.textViewResourceId = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout rowView;
Itens msg = getItem(position);
if (convertView == null) {
rowView = new LinearLayout(getContext());
LayoutInflater vi = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vi.inflate(textViewResourceId, rowView, true);
} else {
rowView = (LinearLayout) convertView;
}
TextView t = (TextView) rowView.findViewById(R.id.acs_name);
TextView d = (TextView) rowView.findViewById(R.id.description1);
t.setText(msg.getT());
d.setText("Clique para ver detalhes.");
return rowView;
}
}
private void setItList() {
Itens it;
File arq;
String lstrlinha;
String lstrNomeArq;
try
{
lstrNomeArq = txtNomeArq.getText().toString();
arq = new File(Environment.getExternalStorageDirectory(), lstrNomeArq);
BufferedReader br = new BufferedReader(new FileReader(arq));
while ((lstrlinha = br.readLine()) != null)
{
String desc = null;
it = new Itens();
String[] linhaDoArquivo = lstrlinha.split(";");
desc = "Preço: "+linhaDoArquivo[1];
desc += "\n";
desc += "Quantidade:" + linhaDoArquivo[2];
it.setT(linhaDoArquivo[0]);
it.setD(desc);
Acs.add(it);
}
} catch (Exception e){
System.out.println("ERROR: " + e.getMessage());
}
}
public class Itens {
private String t;
private String d;
public void setT(String t) {
this.t = t;
}
public String getT() {
return t;
}
public void setD(String d) {
this.d = d;
}
public String getD() {
return d;
}
}
}
acs.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome do arquivo:" />
<EditText
android:id="@+id/edtNomeArq"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="NomeDoArq.txt" />
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/edtLer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.58"
android:padding="10dp"
android:textSize="20sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" >
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="click_Ler"
android:text="Abrir" />
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="click_Limpar"
android:text="Limpar" />
</LinearLayout>
<ListView android:id="@+id/acs_list"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</ListView>
</LinearLayout>
Bem, eu quero saber o por que dele, não estar lendo. E consequentemente separando, e organizando :/. Qual foi o erro da minha lógica?