как сделать текстовый разрыв строки в текстовой области гибкого провода

Привет, следуй пошаговому руководству. Я понимаю вашу проблему, поэтому, пожалуйста, следуйте этому, если вам требуется простой код камеры, нажмите здесь

Шаг 1. Создайте DemoModel.java

import android.graphics.Bitmap;
import android.net.Uri;

public class DemoModel {
private String imagename = "";
private Bitmap imageBitmap= null;

public String getImagename() {
    return imagename;
}

public void setImagename(String imagename) {
    this.imagename = imagename;
}

public Bitmap getImageBitmap() {
    return imageBitmap;
}

public void setImageBitmap(Bitmap imageBitmap) {
    this.imageBitmap = imageBitmap;
}
}

Шаг 2: Создать row_item.xml








Шаг 3: Создать DemoAdapter.java

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;

public class DemoAdapter extends RecyclerView.Adapter 
{
private String TAG = "GroupAdapter";
private Context mContext;
private LayoutInflater infalter;
private ArrayList mDemoModelArrayList = new ArrayList();
private View.OnClickListener mItemClickListener;

public DemoAdapter(Context context, View.OnClickListener itemClickListener, ArrayList demoModelArrayList) {

    this.infalter = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    this.mContext = context;

    this.mDemoModelArrayList = demoModelArrayList;
    this.mItemClickListener = itemClickListener;

}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(mContext).inflate(R.layout.row_item, parent, false);
    ViewHolder viewHolder = new ViewHolder(view);
    return viewHolder;
}

@Override
public void onBindViewHolder(DemoAdapter.ViewHolder holder, int position) {


    holder.tvText.setText(mDemoModelArrayList.get(position).getImagename());
    holder.ivImage.setImageBitmap(mDemoModelArrayList.get(position).getImageBitmap());

    holder.ivImage.setTag(position);
    holder.ivImage.setOnClickListener(mItemClickListener);
}

@Override
public int getItemCount() {
    return mDemoModelArrayList.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {

    private TextView tvText;
    private ImageView ivImage;

    public ViewHolder(View itemView) {
        super(itemView);

        tvText = (TextView) itemView.findViewById(R.id.tvText);
        ivImage = (ImageView)itemView.findViewById(R.id.ivImage);

    }
}
}

Шаг 4: Напишите этот код в нашем MainActivity.java

import android.content.Intent;
import android.graphics.Bitmap;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

private RecyclerView rvrecylerView;
private DemoAdapter mDemoAdapter;
private ArrayList mDemoModelArrayList = new ArrayList();
int positionGl =0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setDummyData();

    rvrecylerView = (RecyclerView)findViewById(R.id.rvrecylerView);

    LinearLayoutManager mLinearLayout = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
    mLinearLayout.setSmoothScrollbarEnabled(true);
    rvrecylerView.setLayoutManager(mLinearLayout);
    rvrecylerView.setItemAnimator(new DefaultItemAnimator());
    mDemoAdapter = new DemoAdapter(MainActivity.this,mItemClickListener,mDemoModelArrayList);
    rvrecylerView.setAdapter(mDemoAdapter);
}

private void setDummyData() {
    for (int i = 0; i < 50; i++) {
        DemoModel tempDemoModel = new DemoModel();
        tempDemoModel.setImagename("MyName "+i);
        mDemoModelArrayList.add(tempDemoModel);
    }
}
private View.OnClickListener mItemClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        int position =  (int)v.getTag();
        positionGl = position;
        openCamera(position);
    }
};

private void openCamera(int postion) {
    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, 502);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 502 && resultCode == RESULT_OK && data != null) {
        Bitmap mphoto = (Bitmap) data.getExtras().get("data");
        mDemoModelArrayList.get(positionGl).setImageBitmap(mphoto);
        mDemoAdapter.notifyDataSetChanged();
    }
}

25
задан Cameron A. Ellis 24 November 2008 в 17:33
поделиться

5 ответов

На flex, в то время как кодирование \ n хорошо работает на mxml или любом xml для определения строки, просто используйте & amp; # 13; строчную сущность.

Я имею в виду:

lazy&amp;#13;fox

дает нам

lazy<br />
fox
44
ответ дан 28 November 2019 в 18:25
поделиться

Это должно работать или по крайней мере <br \> (без пробелов перед "br") должен работать при использовании htmlText.

Я использовал XML для заполнения TextArea и так как я не совсем уверен, как использовать HTML в XML (они упоминают, что я должен перенести его с тегами CDATA), но я просто сделал простое

txt.replace("\\n", "<br/>");

Возможно, существует лучший способ пойти об этом, но это удается приятно.

Править: У меня было пространство после "br"

0
ответ дан 28 November 2019 в 18:25
поделиться

Попробуйте

"This is a line {\n} This is another line."

, С другой стороны, используют атрибут htmlText и используют

"This is a line <br> This is another line." 
3
ответ дан 28 November 2019 в 18:25
поделиться

Я только что протестировал следующий код:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    creationComplete="onComplete();">
    <mx:Script>
        <![CDATA[
            private function onComplete():void {
                var s:String = "This is a line \n This is another line.";
                this.txtHolder.text = s;
            }
        ]]>
    </mx:Script>
    <mx:TextArea id="txtHolder" />
</mx:WindowedApplication>

и с mx: Text

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    creationComplete="onComplete();">
    <mx:Script>
        <![CDATA[
            private function onComplete():void {
                var s:String = "This is a line \n This is another line.";
                this.txtHolder.text = s;
            }
        ]]>
    </mx:Script>
    <mx:Text id="txtHolder" />
</mx:WindowedApplication>

Оба работают нормально. Может быть, вы используете mx: TextInput или mx: Label?

0
ответ дан 28 November 2019 в 18:25
поделиться

не {\ n}, а {'\ n '}

9
ответ дан 28 November 2019 в 18:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: