Java 将选定的ListView项显示到TextView中

Java 将选定的ListView项显示到TextView中,java,android,xml,listview,Java,Android,Xml,Listview,我是stackoverflow的新手,因为我是android studio的新手,我不擅长代码,但我正在尝试,我知道这可能是个愚蠢的问题,但我仍然需要帮助 那么让我们开门见山吧 所以我有listview来选择“.txt”文件并获取其中的内容,我设法从internet获取代码(忘记源代码)来选择“.txt”文件,但我不知道如何在我的TextView中显示它 下面是我的XML的代码 活动\u main.xml <LinearLayout xmlns:android="http://schema

我是stackoverflow的新手,因为我是android studio的新手,我不擅长代码,但我正在尝试,我知道这可能是个愚蠢的问题,但我仍然需要帮助

那么让我们开门见山吧 所以我有listview来选择“.txt”文件并获取其中的内容,我设法从internet获取代码(忘记源代码)来选择“.txt”文件,但我不知道如何在我的TextView中显示它

下面是我的XML的代码

活动\u main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<Button
    android:id="@+id/opendialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Browse" />
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="input"
    android:id="@+id/result"/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save"/>

</LinearLayout>

正如您所看到的,我有一个ID为“result”的TextView,我想把我所选的.txt文件放入该TextView,并将其内容显示在该TextView中

这是我的onClick方法,此方法仅选择项目

dialog_ListView = (ListView)   dialog.findViewById(R.id.dialoglist);
            dialog_ListView.setOnItemClickListener(new   AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,   int position, long id) {
                    File selected = new File(fileList.get(position));
                    if(selected.isDirectory()) {
                        ListDir(selected);
                    } else {
                        Toast.makeText(MainActivity.this,      selected.toString() + "selected",
                                Toast.LENGTH_LONG).show();
                        dismissDialog(CUSTOM_DIALOG_ID);
                    }
                }
            });

            break;
    }
    return dialog;
}
dialog\u ListView=(ListView)dialog.findViewById(R.id.dialoglist);
dialog_ListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
所选文件=新文件(fileList.get(position));
如果(已选择.isDirectory()){
ListDir(选定);
}否则{
Toast.makeText(MainActivity.this,selected.toString()+“selected”,
Toast.LENGTH_LONG).show();
dismissDialog(自定义对话框ID);
}
}
});
打破
}
返回对话框;
}

我的问题是,如何从我选择的.txt项目中获取文本首先,您必须创建一个
TextView

TextView result;
在您的
onCreate()
中,您必须
findViewById()
如下所示:

result = (TextView)findViewById(R.id.result);
然后在您的
对话框\u ListView.setOnItemClickListener()
中,您可以通过执行以下操作从单击的项目中获取文本:

String SelectedItem = (dialog_ListView.getItemAtPosition(position));
result.setText(SelectedItem);
然后,您可以通过以下方式显示文本:

String SelectedItem = (dialog_ListView.getItemAtPosition(position));
result.setText(SelectedItem);
另一种方法是,如果需要
textFolder
上的文本,只需执行以下操作:

String SelectedItem = textFolder.getText();
result.setText(SelectedItem);
编辑 这是一个选择,您可以如何做到这一点

首先,您必须按照第一步创建结果
TextView
,一旦这样做,您就可以在
onItemClick()中继续这样做了:

String path = selected.toString();
String filename = path.substring(path.lastIndexOf("/")+1);
result.setText(filename);
它将显示文件的文本,例如
colors.json

最终编辑 好了,现在我得到了你想要的

看一看,我有一个从
文件中读取的方法

public String readFromFile(String path) {

   //Get the text file
    File file = new File(path);
    //Read text from file
    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    }
    catch (IOException e) {
        e.printStackTrace();
    }

    //This is the text from the file
    return text.toString();
}
然后只需在
onItemClick()中添加这两行


好了,我们开始工作了!:)

首先,您必须创建
TextView

TextView result;
在您的
onCreate()
中,您必须
findViewById()
如下所示:

result = (TextView)findViewById(R.id.result);
然后在您的
对话框\u ListView.setOnItemClickListener()
中,您可以通过执行以下操作从单击的项目中获取文本:

String SelectedItem = (dialog_ListView.getItemAtPosition(position));
result.setText(SelectedItem);
然后,您可以通过以下方式显示文本:

String SelectedItem = (dialog_ListView.getItemAtPosition(position));
result.setText(SelectedItem);
另一种方法是,如果需要
textFolder
上的文本,只需执行以下操作:

String SelectedItem = textFolder.getText();
result.setText(SelectedItem);
编辑 这是一个选择,您可以如何做到这一点

首先,您必须按照第一步创建结果
TextView
,一旦这样做,您就可以在
onItemClick()中继续这样做了:

String path = selected.toString();
String filename = path.substring(path.lastIndexOf("/")+1);
result.setText(filename);
它将显示文件的文本,例如
colors.json

最终编辑 好了,现在我得到了你想要的

看一看,我有一个从
文件中读取的方法

public String readFromFile(String path) {

   //Get the text file
    File file = new File(path);
    //Read text from file
    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    }
    catch (IOException e) {
        e.printStackTrace();
    }

    //This is the text from the file
    return text.toString();
}
然后只需在
onItemClick()中添加这两行


好了,我们开始工作了!:)

你能解释一下你想要什么吗?当你点击列表视图中的某个项目时,你想在文本视图中将其显示为文本吗?是的,我想看一下我的答案你能解释一下你想要什么吗?当你点击列表视图中的某个项目时,你想在文本视图中将其显示为文本吗?是的,这就是我想看一看我的答案你解释得很好,但由于我是android新手,我仍然很难实现你的意思,所以是这样的吗?怎么了?你已经点击了我提供的链接了吗?是的,我做了什么错了?天哪,你刚刚给我的密码学课程打了个A,非常感谢,亲爱的,你解释得很好,但是因为我是安卓新手,我仍然很难实现你的意思,所以是这样的吗?怎么了?你已经点击了我提供的链接了吗?是的,我做了什么?天哪,你刚刚给我的密码学课程打了个A,非常感谢,甜心