如何编写代码逐一读取TextView,如何存储SD卡

时间:2012-02-28 06:22:38

标签: android

这是我的代码:如何编写java代码逐一显示textview,例如单击提交按钮显示文本视图和存储并在下次单击相同按钮时显示下一个文本视图并存储数据。怎么写这种类型的java代码,我有一个主.xml文件

public class XMLRWActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button submit_btn =  (Button) findViewById (R.id.submit_btn);
final EditText textbox = (EditText) findViewById (R.id.first_text);
final TextView newtext = (TextView) findViewById (R.id.read_text);

submit_btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
            byte[] readinfo = new byte[160];
            String FILENAME = "first_file";
        FileOutputStream mystream;
    try {
        mystream = openFileOutput (FILENAME, Context.MODE_PRIVATE);
        String variabletowrite = textbox.getText().toString();

        mystream.write(variabletowrite.getBytes());
        mystream.close();
        FileInputStream readstream = openFileInput (FILENAME);
        readstream.read(readinfo);
        newtext.setText(new String(readinfo));


        readstream.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
   });
   }
 }

这是一个main.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello"
/>
<EditText android:id="@+id/first_text"
 android:layout_width="match_parent"
android:layout_height="wrap_content">
<requestFocus></requestFocus>
</EditText>
<Button android:layout_height="wrap_content" 
android:text="Submit"     
android:id="@+id/submit_btn" 
 android:layout_width="match_parent" />

<TextView
android:id="@+id/read_text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView1"
android:textAppearance="?android:attr/textAppearanceLarge" ></TextView>
<TextView
android:id="@+id/read_text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView2"
android:textAppearance="?android:attr/textAppearanceLarge" ></TextView>
<TextView
android:id="@+id/read_text3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView3"
android:textAppearance="?android:attr/textAppearanceLarge" >

 </TextView>
</LinearLayout>

这是清单文件中的存储权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission>

1 个答案:

答案 0 :(得分:1)

您可以使用listview

公共类MainActivity扩展Activity实现OnClickListener,OnItemSelectedListener {     /** 在第一次创建活动时调用。 * /

private static String[] data = new String[]
{ "aaaa", "bbbbbb", "ccccc", "ddddd", "eeee", "ffffff", "gggggg ", "hhhhhhhhhhh", "iiiiiiiiii", "jjjjjjjjjjj" };

private ListView lvDynamic;
private ViewAdapter viewAdapter;

private class ViewAdapter extends BaseAdapter
{
    private Context context;
    private List textIdList = new ArrayList();

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(inflater);
        LinearLayout linearLayout = null;
        if (textIdList.get(position) instanceof String)
        {
            linearLayout = (LinearLayout) layoutInflater.inflate(R.layout.text, null);
            TextView textView = ((TextView) linearLayout.findViewById(R.id.textview));
            textView.setText(String.valueOf(textIdList.get(position)));
        }
        return linearLayout;
    }

    public ViewAdapter(Context context)
    {
        this.context = context;
    }

    @Override
    public int getCount()
    {
        return textIdList.size();
    }

    @Override
    public Object getItem(int position)
    {
        return textIdList.get(position);
    }

    public void addText(String text)
    {
        textIdList.add(text);
        notifyDataSetChanged();
    }


    @Override
    public long getItemId(int position)
    {
        return position;
    }
}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id)
{
    id = position;

}

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    lvDynamic = (ListView) findViewById(R.id.lvDynamic);
    Button btnAddText = (Button) findViewById(R.id.btnAddText);

    btnAddText.setOnClickListener(this);

    viewAdapter = new ViewAdapter(this);
    lvDynamic.setAdapter(viewAdapter);
    lvDynamic.setOnItemSelectedListener(this);
}


public void onClick(View v)
{
    // TODO Auto-generated method stub
    int randomNum = new Random().nextInt(data.length);
    viewAdapter.addText(data[randomNum]);
}

@Override
public void onNothingSelected(AdapterView<?> arg0)
{
    // TODO Auto-generated method stub

}

}