Recuperar texto de. archivo txt a una vista de texto de un elemento de vista de lista
Tengo una aplicación que contiene una vista de lista. Cada elemento de la vista de lista contiene grandes párrafos de texto. Por lo tanto, quiero colocar el texto en un archivo .txt, guardarlo en parse.ccom y usar los archivos de texto para recibir texto en mi vista de texto de los elementos de la vista de lista. Pero cuando presiono el elemento de vista de lista no se muestra texto del archivo de texto. Solo se muestra la página en blanco.
Por favor, ayúdame Aquí está mi código
actividad principal.java
package com.mycompany.myapp;
import android.app.*;
import android.os.*;
import com.parse.*;
import android.widget.*;
import java.util.*;
import android.util.*;
public class MainActivity extends Activity
{
ListView listview;
List<ParseObject> ob;
ProgressDialog mProgressDialog;
ListViewAdapter adapter;
private List<Textfile> textfilelist = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Add your initialization code here
Parse.initialize(this, "Hwq4ExtHsfHimcHFO3596nYv4dcwd6MX2hdIC7wN", "x7iF0nUMRS1T1boXBOAHhwNI8HUkhGuGapJFksI6");
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
// If you would like all objects to be private by default, remove this line.
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
new RemoteDataTask().execute();
}
private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
// Create a progressdialog
mProgressDialog = new ProgressDialog(MainActivity.this);
// Set progressdialog title
mProgressDialog.setTitle("loading");
// Set progressdialog message
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
// Show progressdialog
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
// Create the array
textfilelist = new ArrayList<Textfile>();
try {
// Locate the class table named "TestText" in Parse.com
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
"TestText");
query.orderByDescending("_created_at");
ob= query.find();
for (ParseObject txtobject : ob) {
// Locate images in flag column
ParseFile image = (ParseFile) txtobject.get("image");
Textfile map = new Textfile();
map.setText((String) txtobject.get("text"));
map.setTxtview((String) txtobject.get("textfile"));
map.setImage(image.getUrl());
textfilelist.add(map);
}
} catch (ParseException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// Locate the listview in listview_main.xml
listview = (ListView) findViewById(R.id.listview);
// Pass the results into ListViewAdapter.java
adapter = new ListViewAdapter(MainActivity.this,
textfilelist);
// Binds the Adapter to the ListView
listview.setAdapter(adapter);
// Close the progressdialog
mProgressDialog.dismiss();
}
}
}
archivo de texto.java
package com.mycompany.myapp;
public class Textfile
{
private String text;
private String image;
private String txtview;
public void setTxtview(String txtview)
{
this.txtview = txtview;
}
public String getTxtview()
{
return txtview;
}
public void setImage(String image)
{
this.image = image;
}
public String getImage()
{
return image;
}
public void setText(String text)
{
this.text = text;
}
public String getText()
{
return text;
}}
listview adapter.java
package com.mycompany.myapp;
import android.widget.*;
import android.view.*;
import android.content.*;
import java.util.*;
import android.view.View.*;
public class ListViewAdapter extends BaseAdapter
{
// Declare Variables
Context context;
LayoutInflater inflater;
ImageLoader imageLoader;
private List<Textfile> textfilelist = null;
private ArrayList<Textfile> arraylist;
public ListViewAdapter(Context context,
List<Textfile> textfilelist) {
this.context = context;
this.textfilelist = textfilelist;
inflater = LayoutInflater.from(context);
this.arraylist = new ArrayList<Textfile>();
this.arraylist.addAll(textfilelist);
imageLoader = new ImageLoader(context);
}
public class ViewHolder {
TextView heading;
ImageView mainimage;
}
@Override
public int getCount()
{
// TODO: Implement this method
return textfilelist.size();
}
@Override
public Object getItem(int position)
{
// TODO: Implement this method
return textfilelist.get(position);
}
@Override
public long getItemId(int position)
{
// TODO: Implement this method
return position;
}
@Override
public View getView(final int position, View view, ViewGroup parent)
{
final ViewHolder holder;
if (view == null) {
holder = new ViewHolder();
view = inflater.inflate(R.layout.listview_item, null);
holder.heading = (TextView) view.findViewById(R.id.listview_itemTextView);
holder.mainimage = (ImageView) view.findViewById(R.id.listview_itemImageView);
view.setTag(holder);
}
else{
holder = (ViewHolder) view.getTag();
}
holder.heading.setText(textfilelist.get(position).getText());
imageLoader.DisplayImage(textfilelist.get(position).getImage(),
holder.mainimage);
view.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, SingleItemView.class);
intent.putExtra("text",
(textfilelist.get(position).getText()));
// Pass all data flag
intent.putExtra("image",
(textfilelist.get(position).getImage()));
// Start SingleItemView Class
context.startActivity(intent);
}
});
// TODO: Implement this method
return view;
}
}
singleitemview.java
package com.mycompany.myapp;
import android.app.*;
import android.os.*;
import android.content.*;
import android.widget.*;
public class SingleItemView extends Activity
{
String text;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO: Implement this method
super.onCreate(savedInstanceState);
setContentView(R.layout.singleitemview);
Intent i = getIntent();
text= i.getStringExtra("textfile");
TextView txt= (TextView) findViewById(R.id.singleitemviewTextView);
txt.setText(text);
}
}