Text abrufen von. TXT-Datei zu einer Textansicht eines Listenansicht-Elements
Ich habe eine App mit einer Listenansicht. Jedes Listenansichtselement enthält große Textabsätze. Daher möchte ich den Text in eine TXT-Datei einfügen, ihn in parse.ccom speichern und die Textdateien verwenden, um Text in meine Textansicht der Listenansicht-Elemente zu übertragen. Wenn ich jedoch auf den Listeneintrag drücke, wird kein Text aus der Textdatei angezeigt. Es wird nur eine leere Seite angezeigt.
Bitte hilf mir Hier ist mein Code
main activity.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();
}
}
}
text file.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);
}
}