Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获取包含资产链接的列表视图?_Android_Html_Listview_Assets - Fatal编程技术网

Android 如何获取包含资产链接的列表视图?

Android 如何获取包含资产链接的列表视图?,android,html,listview,assets,Android,Html,Listview,Assets,我在名为n0.HTML、n1.HTML等的资产中有HTML文件。我想创建一个包含这些文件链接的listview,但我不知道怎么做 我有这样一个原始文件夹的决定。如何将其更改为资产文件 公共类ViewActivity扩展活动{ @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.view); Bundle Bundle=getIntent().g

我在名为n0.HTML、n1.HTML等的资产中有HTML文件。我想创建一个包含这些文件链接的listview,但我不知道怎么做

我有这样一个原始文件夹的决定。如何将其更改为资产文件

公共类ViewActivity扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.view);
Bundle Bundle=getIntent().getExtras();
String itemname=“n”+bundle.getString(“defStrID”);//获取字符串并形成资源名称
Context Context=getBaseContext();//获取上下文
//按名称从资源中读取文本文件
String text=readRawTextFile(上下文,getResources().getIdentifier(itemname,“raw”,“ru.falcon5f.carguide;”);
WebView wWebView=(WebView)findViewById(R.id.WebView);
字符串摘要=“文本+”;
loadData(摘要,“text/html”,“utf-8”);//将文本上载到webview
}
公共静态字符串readRawTextFile(Context ctx,int resId)//读取文本原始txt文件
{
InputStream InputStream=ctx.getResources().openRawResource(resId);
InputStreamReader inputreader=新的InputStreamReader(inputStream);
BufferedReader buffreader=新的BufferedReader(inputreader);
弦线;
StringBuilder text=新的StringBuilder();
试一试{
而((line=buffreader.readLine())!=null){
text.append(行);
text.append('\n');
}
}
捕获(IOE异常){
返回null;
}
返回text.toString();
}
}

已添加

如果我问的问题太愚蠢,问的太多,我很抱歉,但我想处理我的第一份申请。这对我来说非常重要。因此,它包括两项活动:

查看活动根据您的建议,我已对其进行了更改

公共类ViewActivity扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.view);
Bundle Bundle=getIntent().getExtras();
String htmlFileName=“n”+bundle.getString(“defStrID”);//获取文件名
Context Context=getBaseContext();//获取上下文。您仍然需要它
//按名称从资源中读取文本文件
试一试{
字符串文本=readAssetTextFile(上下文,htmlFileName);
WebView wWebView=(WebView)findViewById(R.id.WebView);
字符串摘要=“文本+”;
loadData(摘要,“text/html”,“utf-8”);//将文本上载到webview
}
捕获(IOE异常){
Log.e(“TAG”,e);//注意,您需要导入android.util.Log
}
}
公共静态字符串readAssetTextFile(上下文ctx,字符串文件名)引发IOException//从资源读取HTML文件
{
InputStream InputStream=ctx.getAssets().open(文件名);
InputStreamReader inputreader=新的InputStreamReader(inputStream);
BufferedReader buffreader=新的BufferedReader(inputreader);
弦线;
StringBuilder text=新的StringBuilder();
试一试{
而((line=buffreader.readLine())!=null){
text.append(行);
text.append('\n');
}
}
捕获(IOE异常){
返回null;
}
返回text.toString();
}
}
Log.e中(“TAG”,e),要将“e”的类型更改为“字符串”


我如何解决这个问题?

不会有太大的不同。您知道可以访问资产中的文件,如下所示:

InputStream InputStream=ctx.getAssets().open(文件名);
您可以将其替换为行
InputStream InputStream=ctx.getResources().openRawResource(resId)。然后您需要传入正确的文件名。使用资产时,不需要使用ID

编辑您的代码段:

@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.view);
Bundle Bundle=getIntent().getExtras();
字符串htmlFileName=“n”+bundle.getString(“defStrID”)+“.html”//获取文件名
Context Context=getBaseContext();//获取上下文。您仍然需要它
//按名称从资源中读取文本文件
试一试{
字符串文本=readAssetTextFile(上下文,htmlFileName);
WebView wWebView=(WebView)findViewById(R.id.WebView);
字符串摘要=“文本+”;
loadData(摘要,“text/html”,“utf-8”);//将文本上载到webview
}捕获(IOE异常){
Log.e(“标记”,“异常抛出”,e);//注意,您需要导入android.util.Log
}
}
公共静态字符串readAssetTextFile(上下文ctx,字符串文件名)//从资源中读取HTML文件
{
InputStream InputStream=ctx.getAssets().open(文件名);
.....

非常感谢,但我应该如何更改此设置:Bundle Bundle=getIntent().getExtras();String itemname=“n”+Bundle.getString(“defStrID”);//获取字符串并形成资源名称上下文=getBaseContext();//获取上下文//按名称从资源中读取文本文件字符串text=readRawTextFile(上下文,getResources().getIdentifier(itemname,“raw”,“ru.falcon5f.carguide;”);我已经编辑了你的代码片段,希望这会让你更容易。我假设你从给定的捆绑包中额外构造html文件名。我想是的。试试看,我不是100%通过捆绑包进入活动的,毕竟你是实现应用程序的人。如果你遇到任何问题或困难领带回信。请看t