Java 将选定的ListView项显示到TextView中
我是stackoverflow的新手,因为我是android studio的新手,我不擅长代码,但我正在尝试,我知道这可能是个愚蠢的问题,但我仍然需要帮助 那么让我们开门见山吧 所以我有listview来选择“.txt”文件并获取其中的内容,我设法从internet获取代码(忘记源代码)来选择“.txt”文件,但我不知道如何在我的TextView中显示它 下面是我的XML的代码 活动\u main.xmlJava 将选定的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
<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,非常感谢,甜心